你需要讓你的服務返回的結果,因爲在你的承諾,它將返回整個響應,但你只需要提供的結果,所以只是在你的服務中添加映射。
this.getOptions = function(prefix) {
return $http.get('http://search.ams.usda.gov/farmersmarkets/v1/data.svc/zipSearch?zip=60629').then(function(response){
return response.data.results; //Return results
});
};
,並在您的視圖做一些改變來適應數據: -
typeahead="option as option.marketName for option in getOptions($viewValue)"
<h4><span bind-html-unsafe="match.model.marketname | typeaheadHighlight:query"></span></h4>
Demo
或者在您的服務來回報預期的數據格式使用映射器在返回數據: -
return $http.get('http://search.ams.usda.gov/farmersmarkets/v1/data.svc/zipSearch?zip=60629').then(function(response){
return (response.data.results || []).map(function(itm){return {id:itm.id, name:itm.marketname}}); //map your data
});
Demo
來源
2014-09-19 01:58:49
PSL