我没有在ng-repeat中使用砌体。
我尝试将一个类添加到砌体容器中,并在我的ng-repeat内部使用类砌体项。
在我的js中我使用这两个类,我的js文件被加载如下: -jquery -石工 -myfile
<div class="masonry-container" >
<div ng-repeat="link in links">
<div class="masonry-item col-sm-4">
<div class="jumbotron">
<div>
{{link.title}}
</div>
<div>
{{link.url}}
</div>
</div>
</div>
</div>
</div>
1.1 JS)
$(document).ready(function(){
$('.masonry-container').masonry({
// options
itemSelector: '.masonry-item',
columnWidth: '.masonry-item'
});
});
答案 0 :(得分:1)
我不知道砌体,但是在执行JS时,angular还没有呈现模板。
要执行您想要执行的操作,您应该使用指令并将代码放在link
函数中。
angular.module('Example', [])
.directive('masonry-container', [function () {
return {
link: function ($scope, element, attributs, controllers) {
element.masonry({
// ...
});
// ...
}
};
}])
想要修改DOM的指令通常使用链接选项 注册DOM侦听器以及更新DOM。它被执行了 克隆模板后,指令逻辑将在何处 放好。