您好我正在使用下面的ng-input-tags是我的HTML代码:
<tags-input on-tag-removed="removeTag(modaltask,$tag)" id="modaltask-tags-{{modaltask.id}}" display-property="tag" class="form-control" ng-model="modaltask.tags">
<auto-complete source="getAvailableTag($query)" min-length="0" load-on-focus="true" load-on-empty="true" max-results-to-show="32" ></auto-complete>
</tags-input>
当我在输入中单击时,我收到一个控制台errorTypeError:无法读取属性&#39;数据&#39;未定义的。我的控制器文件看起来像这样
$scope.getAvailableTag = function($query){
MyTasksService.getAvailableTags($query).then(function(response){
$scope.data = response;
},function(reject){});
}
我的服务js文件
this.getAvailableTags = function(value) {
var deferred = $q.defer();
$http.get(THE URL...).success(function(data) {
deferred.resolve(data.availableTags);
}).error(function(data, status) {
ErrorService.raiseError(data, status);
deferred.reject(data);
});
return deferred.promise;
};
api调用正常工作并返回数据。格式为
availableTag: {
{
id: 1,
tag: test
}
}
答案 0 :(得分:0)
您的getAvailableTag
必须返回一个值以提供给自动填充,可以是数组或承诺:
$scope.getAvailableTag = function($query){
return MyTasksService.getAvailableTags($query).then(function(response){
$scope.data = response;
return response; // This is important!
},function(reject){});
}
您可以在this page上找到有关自动填充指令的更多信息。