我正在使用AngularJS并尝试使用http://welldonethings.com/tags/manager创建标记管理器指令。问题是,当调用jQuery插件时,标签输入和名称输入还没有{{index}}值。我怎么能解决它?
我的HTML代码:
<div ng-repeat="(index, title) in shop.locales" style="position: relative">
<span> {{ title }}</span>
<div class="input-block">
<input tags prefilled="product.tags[index]" tags-options="{hiddenTagListName: scope.locale+'_tagList'}" locale="index" class="{{index}} tag tm-input" name="{{ index }}_tags" placeholder="Tags"/>
</div>
</div>
和JS:
app.directive('tags', function(){
return {
restrict: 'EA',
scope: { prefilled: '=prefilled', locale: '=locale'},
link: function(scope, element, attrs) {
scope.$watch('prefilled', function(prefilled) {
if(prefilled){
angular.forEach(prefilled,function(data){
element.tagsManager('pushTag',data);
})
}
return element.tagsManager(scope.$eval(attrs.tagsOptions));
})
}
}
});
答案 0 :(得分:0)
你是否尝试将你的逻辑包裹在$timeout
的回调中,没有延迟?
像这样:
$timeout(function yourLogicHere() {}, 0);
应该在$digest
周期后调用此回调,因此所有数据都应该已绑定到DOM。