我试图用角度加载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(); });