2016-10-14 48 views
0

這是我的HTML代碼預輸入不能夠獲取從API數據angularjs

<input type="text" ng-model="ngModelOptionsSelected" 
placeholder="Enter Story Title" 
ng-model-options="modelOptions" 
ng-change="onChangeFunction()" 
typeahead-on-select="typeaheadOnSelectFunction()" 
uib-typeahead="document as document.Name for document in getStory($viewValue)" 
class="form-control"> 

這是我的.js代碼

$scope.getStory = function (val) { 
storyService.GetStoryByName(cacheService.project.projectId,val).success(function (data) { 
       if (data.ResponseStatus) { 
       debugger; 
        return data.ResponseData; 
       } else { 
        //On failure 
        toastr.error(data.ErrorData.Error); 
       } 
      }); 
     }; 

函數輸出返回像 ResponseData =

[{"Id":211380.0,"Name":"dixit"},{"Id":211488.0,"Name":"dixit ade"},{"Id":251541.0,"Name":"dixit"},{"Id":842671.0,"Name":"dixit"},{"Id":842672.0,"Name":"dixit choksi"}] 
數據

但我無法綁定鍵入數據。

請幫我,我卡住了。 謝謝

+0

你能分享控制檯錯誤嗎? –

+0

@Ritwik Sen沒有關於CONSOL的錯誤。 – Dixit

回答

1

您的功能$scope.getStory()實際上不會返回任何東西,您的返回線return data.ResponseData;嵌套在另一個函數中。

uib-typeahead指令能夠使用承諾,所以你只需要從你的函數返回承諾。

$scope.getStory = function (val) 
{ 
    return storyService.GetStoryByName(cacheService.project.projectId, val).success(function (data) 
    { 
     if (data.ResponseStatus) 
      return data.ResponseData; 

     toastr.error(data.ErrorData.Error); 

     return []; 
    }); 
}; 

您也可以在其他屬性添加到指令,typeahead-loading="isLoading",將切換而承諾解決。例如,它可以用來顯示/隱藏加載旋鈕!

+0

仍然沒有顯示任何東西。控制檯沒有錯誤。 :( – Dixit