【发布时间】:2016-07-28 17:41:58
【问题描述】:
我有一个 Angular ui-boostrap typeahead 组件可以正常工作,直到我向整个函数添加一个要求。我想在用户输入 3 个字母后调用后端以获取建议的结果。它是正确完成的,但我的问题是只有当用户输入第四个字母时结果才可见。有没有办法绕过这个,通过在用户输入第三个字母后强制它刷新 UI。 代码是:
HTLM
<input name="states" id="states" type="text" ng-model="vm.cityName"
uib-typeahead="municipality as municipality.city + ' (' + municipality.name + ') '+municipality.zipCode for municipality in vm.getMunicipalitiesByCity($viewValue) | filter:$viewValue | limitTo:8" class="form-control" typeahead-on-select="vm.citySelected()" >
JS Controller
vm.getMunicipalitiesByCity = function (cityName) {
if (cityName != undefined && cityName.length == 3) {
CalculationEndpointService.municipalitiesByCity({cityName: cityName}, function (result) {
vm.municipalities = result.map(
function (item) {
return item;
}
);
});
}
if(cityName.length<3){
vm.municipalities=[""];
}
return vm.municipalities;
};
【问题讨论】:
标签: javascript angularjs angular-ui-bootstrap typeahead angularjs-digest