我正在使用ngTagsInput處理我的AngularJS項目中的標記。它有一個自動完成指令。要處理進入指令的數據,它假定您要這樣做:
$scope.loadTags = function(query) {
return $http.get('tags.json');
};
其中返回一個承諾。這裏有棘手的部分,我想要做同樣的事情,但我已經有一個對象在我的$範圍內,有我想用於自動完成的所有標籤。我不能簡單地做$ scope.loadTags,因爲這會返回一個錯誤。
無法讀取未定義屬性'then'。
如何繞過此承諾或推遲?
這是我plunker http://plnkr.co/edit/wEqVMf?p=preview
指令: app.directive( '標籤',函數($ HTTP){ 回報{ 限制: 'E', templateUrl: 'tag.html', 鏈接:功能(範圍,EL){ scope.tags = [{ 文本: 'Tag1中'},{ 文本: '與Tag2'},{ 文本: 'TAG3'} ];
var test = [{ text: 'Tag9' },{ text: 'Tag10' }];
scope.loadTags = test;
}
}
});
HTML中使用$q.when()
內的<tag>
<tags-input ng-model="tags">
<auto-complete ng-model="loadTags"></auto-complete>
</tags-input>
<p>Model: {{tags}}</p>