我试图用角度加载div来提供同位素进行布局。由于某种原因,我不能使用ng-repeat来创建div。当我做类似的事情,它工作正常:
[agg.html]
<div class="mygrid" iso-grid>
<div class="item">myitem</div>
</div>
[controlers.js]
module.directive('isoGrid',function () {
return function (scope,element,attrs) {
element.isotope({
itemSelector: '.item'
});
};
});
module.controller('aggViewport',['$scope','$location',function ($scope,$location) {
$scope.cards = [{
"ID": "myid","class": "cardListTile","badge": "1"
} {
"ID": "myid2","badge": "2"
}]
}]);
虽然上述工作正常,当我尝试使用ng重复从角度,div似乎变得看不见(他们在dom,但我看不到他们)。我已经尝试调用同位素(‘reloadItems’)和同位素(‘reLayout’),但它似乎没有帮助。
[agg.html]
<div class="mygrid" iso-grid ng-repeat="card in cards">
<div class="item">myitem</div>
</div>
如何使用ng-repeat?
解决方法
尝试$观看列表变量(卡),每当更改重新应用同位素。我想你的问题是同位素在ng-repeat被填满之前运行。
快速示例:
scope.$watch(attrs.ngModel,function() {
elm.isotope();
});