我正在尝试让 lightGallery jQuery 插件 ( http://sachinchoolur.github.io/lightGallery/index.html ) 与 AngularJS 一起工作。
我发现一些答案表明我需要一个指令,所以我创建了以下内容:
.directive('lightGallery', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
jQuery(element).lightGallery();
}
};
})
然后在我看来,我这样做:
<ul lightGallery>
<li ng-repeat="photo in album.photos" data-src="{{photo.fullres}}">
<img ng-src="{{photo.thumbnail}}" />
</li>
</ul>
(我也尝试过<ul light-gallery>
)当我运行页面时,单击任何缩略图时都没有任何反应。不过,我可以alert()
在链接函数中添加一个,然后显示。
如何让 AngularJS 与 jQuery 和这个插件一起玩?
更新:
经过一些调试后,似乎jQuery(element).lightGallery()
在模型绑定到视图之前执行。所以问题是我如何在所有内容都绑定时而不是之前调用指令。