nginputtags自动完成未显示我的结果



你好,我正在使用下面的ng输入标签,是我的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:无法读取未定义的属性"数据"。我的控制器文件看起来像这样

$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
  }
}

您的 getAvailableTag必须返回一个值以馈送到自动完成,这可以是数组或承诺:

$scope.getAvailableTag = function($query){
    return MyTasksService.getAvailableTags($query).then(function(response){
        $scope.data = response;
        return response; // This is important!
    },function(reject){});
}

您可以在此页面上找到有关自动完成指令的更多信息。

相关内容

  • 没有找到相关文章

最新更新