加载ng-repeat数据后如何加载jQuery插件指令

时间:2013-07-09 20:46:47

标签: jquery angularjs angularjs-directive ng-repeat

我正在使用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));
            })

        }
    }
});

1 个答案:

答案 0 :(得分:0)

你是否尝试将你的逻辑包裹在$timeout的回调中,没有延迟?

像这样:

$timeout(function yourLogicHere() {}, 0);

应该在$digest周期后调用此回调,因此所有数据都应该已绑定到DOM。