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