2016-04-14 24 views
0

Bir md-autocomplete oluşturmak istiyorum, ancak seçenekleri gösteremiyorum. Her zaman, yalnızca girilen giriş için seçenek olmadığında başlatılması gereken hata mesajını gösterir.
Hizmetim doğru bir şekilde geri geliyor ve denetleyicim yalnızca hizmet verildikten sonra geri dönüyor.md-autocomplete, bir hizmetten veri beklemez. Nasıl çözülür?

HTML:

<md-autocomplete placeholder="Postal-Code" 
       md-selected-item="selectedItem" 
       md-no-cache="true" 
       md-search-text="searchText" 
       md-items="item in welcomeScope.getPostalCode(searchText)" 
       md-item-text="item.cp4Code"> 
    <md-item-template> 
    <span md-highlight-text="searchText">{{item.cp4Code}}</span> 
    </md-item-template> 
    <md-not-found> 
    ERROR 
    </md-not-found> 
</md-autocomplete> 

Denetleyici:

welcomeScope.getPostalCode = function (key){ 
    welcomeSvc.getAllPostalCodes(key).then(function(data){ 
    return data.result.returnvalue; 
}); 

Hizmeti:

var getAllPostalCodes = function(key){ 
     return Restangular.all(...).post(JSON.stringify()).then(function(response){ 
      var obj = angular.fromJson(response); 
      if (!obj.isError) { 
       return obj; 
      } 
      else{ 
       console.log("ERROR!"); 
      } 
     }); 
}; 

denetleyicisi döndürülen bir örnek sonucudur:

[ 
    {"id":00001,"cp4Code":"1000","cp3Code":"111","postalDesignator":"aaaaa"}, 
    {"id":00002,"cp4Code":"1000","cp3Code":"112","postalDesignator":"bbbbb"}, 
    ...  
] 

cevap

0

welcomeScope.getPostalCode hiçbir dönüş değeri yoktur, bir sözün içinden dönen, dış işlevi etkilemez. Girinti bu biraz daha net, böyle yapar:

welcomeScope.getPostalCode = function (key){ 
    welcomeSvc.getAllPostalCodes(key).then(function(data){ 
     return data.result.returnvalue; 
    }); 
}; 

sonra md-autocomplete sonuç alma herhangi bir şekilde yok welcomeSvc.getAllPostalCodes den söz dönmezlerse.

welcomeScope.getPostalCode = function (key){ 
    return welcomeSvc.getAllPostalCodes(key).then(function(data){ 
     return data.result.returnvalue; 
    }); 
}; 
İlgili konular