ng-change不适用于ngTagInput

时间:2015-07-13 06:46:20

标签: javascript html angularjs

我是角度js的新手。我试图在用户开始写入文本框时调用getTagsName函数。根据关键字,将出现自动完成建议。但在我的情况下,ng-change似乎没有工作..任何人都可以帮帮我..

我的HTML:

<tags-input ng-model="tags2" display-property="name" ng-change="getTagsNames()">
  <auto-complete source="loadTags($query)"></auto-complete>
</tags-input>

我的js:

$scope.getTagNames = function() {
     $scope.loadTags = function(query) {
         return $http.get('tags.json');
     };
};

1 个答案:

答案 0 :(得分:1)

我认为ng-change()指令不起作用,因为当ngTagInput上的标签模型发生变化时,永远不会执行onChange()功能。

使用      on-tag-added="getTagNames()"on-tag-removed="getTagNames()"

 <tags-input ng-model="tags2" display-property="name" on-tag-added="getTagNames()" on-tag-removed="getTagNames()" >

或者您可以使用$scope.$watch观看更改,因为标签是数组或对象$scope.$watchCollection可以使用

 $scope.$watchCollection('tags2',function(){
    //execute the code on the changes

});

参考:http://mbenford.github.io/ngTagsInput/documentation/api