2017-04-20 78 views
0

你好我下面NG-輸入標籤的工作是我的html代碼:NgInputTags自動完成未顯示我的結果

<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 
    } 
} 
+0

你可以創建一個重新生成你的問題? – tanmay

回答

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自動完成指令的詳細信息。