这是我的指示
app.directive('masonry', function() {
return function(scope, element, attrs) {
scope.$watch(attrs.masonry,function(value){
jQuery(function($) {
var grid = $('.main_creation').masonry({
itemSelector: '.creation',
percentPosition: true,
horizontalOrder: true
});
grid.imagesLoaded().progress( function() {
grid.masonry('layout');
});
});
});
};
});
这是我的HTML
<div class="creation" ng-repeat="img in images" masonry>
//some code
</div>
首次加载时,指令正在运行,但如果ng-repeat正在改变,例如在ng-repeat中删除或添加更多数据,则该指令不起作用。
编辑: 此外,我不知道为什么手表不会触发。当我在console.log(attrs.masonry)时,它们就是变化。