角度和砖石一起工作

时间:2016-04-25 11:08:45

标签: javascript jquery angularjs masonry

我没有在ng-repeat中使用砌体。

我尝试将一个类添加到砌体容器中,并在我的ng-repeat内部使用类砌体项。

在我的js中我使用这两个类,我的js文件被加载如下: -jquery -石工 -myfile

  1. HTML)
  2. <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'
      });
    });
    

1 个答案:

答案 0 :(得分:1)

我不知道砌体,但是在执行JS时,angular还没有呈现模板。

要执行您想要执行的操作,您应该使用指令并将代码放在link函数中。

angular.module('Example', [])
.directive('masonry-container', [function () {
    return {
        link: function ($scope, element, attributs, controllers) {
            element.masonry({
                // ...
            });
            // ...
        }
    };
}])
  

想要修改DOM的指令通常使用链接选项   注册DOM侦听器以及更新DOM。它被执行了   克隆模板后,指令逻辑将在何处   放好。

https://docs.angularjs.org/guide/directive