Angularjs 使用api调用结果填充typeahead
因此,这个输入搜索栏的理想功能是从数据库中获取所有结果,这些结果与用户在解块后键入的内容相匹配 我正在取回一个数组,typeahead也在工作并正确显示数据 但是,api总是查询以前的值,现在查询输入中当前的值 例如,如果我要搜索的值是“Clock”: 输入值=” 如果我键入“Clock”,网络将显示api正在获取“” 如果我在“Clock”后面再加一个字母,比如“Clocks”,网络就会显示它对“Clock”进行api获取 这是发出get请求并返回用于填充typeahead的数组的函数Angularjs 使用api调用结果填充typeahead,angularjs,api,asynchronous,typeahead,Angularjs,Api,Asynchronous,Typeahead,因此,这个输入搜索栏的理想功能是从数据库中获取所有结果,这些结果与用户在解块后键入的内容相匹配 我正在取回一个数组,typeahead也在工作并正确显示数据 但是,api总是查询以前的值,现在查询输入中当前的值 例如,如果我要搜索的值是“Clock”: 输入值=” 如果我键入“Clock”,网络将显示api正在获取“” 如果我在“Clock”后面再加一个字母,比如“Clocks”,网络就会显示它对“Clock”进行api获取 这是发出get请求并返回用于填充typeahead的数组的函数
$scope.getDynamicSearchCompanies = function(val) {
return $scope.Company.query({
limit: 16,
keyword: val
}).$promise.then(function(res) {
return res.companies;
})
.catch(function(err) {
throw err;
})
}
如果更换此:
getDynamicSearchCompanies(filter.company)
为此:
getDynamicSearchCompanies($viewValue)
它会解决你的问题。
你可以在这里阅读官方文件
还有官方的plunker,包括一个和你一样的箱子
getDynamicSearchCompanies($viewValue)