关注如何将集合传递给 angular.js 中的指令的问题?
我不能在我的指令模板中使用 ng-repeat,因为我需要手动构造一个 HTML 片段以传递给我包装在指令中的 jQuery 插件。https://github.com/aehlke/tag-it
在下面的示例中,我需要 1) 找到一种方法在模板呈现后应用 elem.tagIt(),或者 2) 在指令内访问 tagSrc 以构造该 HTML 片段,然后将其添加到 elem.html()在应用 elem.tagIt() 之前。
app.directive('tagIt', function (){
return {
restrict: 'A',
scope: { tagSrc: '='},
template: '<li data-ng-repeat="tag in tagSrc">{{tag.name}}</li>',
link: function(scope,elem, attr) {
//tagIt() is a reference to jQuery plugin that turns LIs in to stackoverflow-style tags
elem.tagit(); //tagIt is not applied to the right DOM contents because ng-repeat hasn't written it out yet
console.log(attr.tagSrc);
}
} });