【发布时间】:2014-04-15 02:58:51
【问题描述】:
我正在使用 ngTagsInput 来处理我的 AngularJS 项目中的标签。它有一个自动完成指令。为了处理进入指令的数据,它假设你要做:
$scope.loadTags = function(query) {
return $http.get('tags.json');
};
返回一个承诺。棘手的部分来了,我想做同样的事情,但我的 $scope 中已经有一个对象,其中包含我想要用于自动完成的所有标签。我不能简单地做 $scope.loadTags 因为这会返回一个错误。
无法读取未定义的属性“then”。
我如何绕过这个承诺或推迟它?
这是我的笨蛋http://plnkr.co/edit/wEqVMf?p=preview
指令: app.directive('tag', function($http) { 返回 { 限制:'E', templateUrl: 'tag.html', 链接:函数(范围,el){ scope.tags = [ {文本:'标签1'}, {文本:'标签2'}, { 文字:'标签 3' } ];
var test = [{ text: 'Tag9' },{ text: 'Tag10' }];
scope.loadTags = test;
}
}
});
<tag>内部的HTML
<tags-input ng-model="tags">
<auto-complete ng-model="loadTags"></auto-complete>
</tags-input>
<p>Model: {{tags}}</p>
【问题讨论】: