【发布时间】:2016-06-02 14:17:32
【问题描述】:
我一直在尝试使用工厂方法中的 jsonp 回调函数从 ui-bootstrap 模块 (https://angular-ui.github.io/bootstrap/) 填充 uib-typeahead。
这是我的工厂函数
autoCompleteCity: function(city){
return $http.jsonp("http://gd.geobytes.com/AutoCompleteCity?callback=JSON_CALLBACK&filter=US&q="+city);
}
这是我的控制器
.controller('searchCtrl', function($scope, $rootScope, $http, owm, limitToFilter) {
$scope.cities = function(cityName) {
if(cityName.length > 2){
owm.autoCompleteCity(cityName)
.success(function(response){
return limitToFilter(response.data, 10);
});
}
}
这是我的 HTML
<input class="form-control" type="text" placeholder="City your seraching for" ng-model="result" uib-typeahead="suggestion for suggestion in cities($viewValue)" >
您可以想象 jsonp 回调工作正常并返回一个格式良好的数组。问题是 typeahead 表单元素现在不起作用。它似乎无法遍历数据(城市中的建议建议($viewValue))。
任何想法。这似乎是一个范围问题,因为如果我在 success() 函数之外对一组名称进行硬编码,它就可以工作。
帮助,想法?
【问题讨论】:
标签: angularjs ajax angular-ui-bootstrap