我正在使用具有自动完成功能的ngTagsInput。它似乎运作良好。我的问题是我想知道如何将查询从source="loadTags(query)"
传递到指令中,但查询总是未定义的。查询应该只是在搜索框中键入的任何文本。
角:
app.directive('tag', function($q) {
return {
restrict: 'E',
templateUrl: 'tag.html',
link: function (scope) {
scope.tags = [
{ text: 'Tag1' },
{ text: 'Tag2' },
{ text: 'Tag3' }
];
scope.loadTags = function(query) {
console.log(query)
var deferred = $q.defer();
deferred.resolve([{ text: 'Tag9' },{ text: 'Tag10' }]);
return deferred.promise;
};
}
}
});
HTML:
<tags-input ng-model="tags">
<auto-complete source="loadTags(query)"></auto-complete>
</tags-input>
<p>Model: {{tags}}</p>
我的Plunker: http://plnkr.co/edit/3UuRok?p=info
答案 0 :(得分:2)
这将为您解决:
更改
<auto-complete source="loadTags(query)"></auto-complete>
要
<auto-complete source="loadTags($query)"></auto-complete>
查看更新的Plunker。