Всем привет, имею задачу создание сетки и изменения классов блоков в ней.
Имеем массив в контроллере:
$scope.gridList = [
{ 'row': [{
"lg":"4",
"md":"4",
"sm":"6",
"xs":"12"
},{'row': {....}]
}]
так храним инфу о размерах, есть некий блок (директива) изменяющая параметры {lg,md,sm,xs} и влиящая на выводящие элементы, все прекрасно, но как при изменении отображения (типа выводим классы col-md-* ), забирать из gridList опред. значение. Не представляю как это лучше всего сделать, подскажите как быть?
Переключается:
по ng-click, идем к шаблону правил, в нем идентификатор и префикс {lg,md,sm,xs}, именуем как
classV$scope.switchOp = function (idV, classV) {
$scope.stilic.classView = classV; // заносим в спец блочек
// собираем нужный класс
$scope.menegerClass = 'col-'+classV+'-'+$scope[0].classV;
}
Конечно же $scope[0].classV; выдает ошибку, как к ней лучше обратиться, может как то фильтр суда засунуть? О_О
сами блоки можно менять по ширине, в данный момент:
$scope.plus = function(){
if (this.item.lg >= 12) {return;}
this.item.lg++;
};
, где .lg опять же будет заменено на выбранный префикс из директивы выше.
Логика в краце, существует список правил (название, ид, префикс) - дескоп, 1, lg. если активен он, то classV принимает значение - префикс, и в дальнейшем идет в правила построения ng-class, но как взять из другого массива с готовыми данными сетки значение выбранного префикса, что бы использовать его в ng-class, в фориче (при выводе всех элементов сетки, ng-repeat)
Или все это не правильно?
Может поможете вторым вариантом решение задачи:
структура вывода массива:
<section class="row" ng-repeat="list in gridList">
<div data-ng-repeat="item in list.row">{{item.lg}}</div>
</section>
{{item.lg}} — выводит "4", какую функци создать, что бы она обращалась ко внутренним масивам и забирала lg, md в зависимости от переданной ей параметра