只有在用户输入一个字符后,AngularJS才会调用数据库
AngularJS make a call to the database only after the user enters one character
我创建了一个角材质自动补全。一切都很好,但现在我正试图修改代码,并在用户输入自动完成框中的一个字符后才调用数据库。getEmployees函数正在对数据库进行http调用。我试过了,但我得到的错误是seachText未定义。此外,我试图将自动完成的第一个字母传递给getEmployees。我在Plunker创建了一个项目:https://plnkr.co/edit/gLX5Tu0Jlvxh6T7HE6O3?p=preview
if(searchText != undefined || searchText != null)
{
getEmployees().then(function (users)
{
vm.employees = employees
})
}
在你的代码中md-item-text="item.name"是存在的,但是'name'键不在你的json中。使用 md-item-text = " item.FirstName " . .
下面的代码有点粗糙,不是DRY,但它基本上可以工作,所以希望它可以为您指明正确的方向
angular
.module('AutocompleteApp', ['ngMaterial'])
.controller('AutocompleteController', function($scope, $http, $filter) {
var vm = this;
// data for autocomplete
vm.getMatches = function(searchText) {
if (!vm.employees) {
getEmployees().then(function(employees) {
vm.employees = employees;
var term = searchText && searchText.toLowerCase();
if (!term) {
return [];
} else {
return $filter('filter')(vm.employees, term);
}
});
} else {
var term = searchText && searchText.toLowerCase();
if (!term) {
return [];
} else {
return $filter('filter')(vm.employees, term);
}
}
};
// how we get employee data
function getEmployees() {
return $http.get('employees.json').then(function(response) {
return response.data;
}, function failureCallback(response) {
reject("Error!");
});
}
});
https://plnkr.co/edit/QfHaZ6b3vFW57KeKBLhx?p =预览
相关文章:
- angularjs删除动态形式元素中的特殊字符
- AngularJS输入接受整数和特殊字符
- 为什么Angularjs服务返回的是字符数组而不是对象数组
- 自定义angularjs过滤器日期时间格式额外字符
- AngularJs正在解码HTML字符(不需要)
- AngularJs 1.3$资源忽略了一些字符
- 如何处理多种语言的表单验证(特殊字符):AngularJS
- AngularJS中的整数和特殊字符
- 如何在输入中键入4个字符后在AngularJS中搜索
- 如何处理带有点 (.) 字符的 angularJS UI 路由器
- Angularjs:显示字符串中的最后四个字符,并将其余字符替换为“X”
- AngularJS:更改对象不会更新字段,但直接更改字符串会更新字段
- 使用 AngularJS 过滤 ng-repeat 中的特殊字符
- Exting & > AngularJs 中 ng-bind 中的字符
- 如何在 angularjs 中为特殊字符应用搜索过滤器
- 使用 angularjs 中的特殊 $ 字符按对象过滤不起作用
- AngularJS中$interpolate内字符串的转义字符是什么
- 在angularjs中两次执行控制器的routeparams中的特殊字符
- 如何使用angularjs在CSS伪元素中显示HTML字符实体
- 在AngularJS中,当指令属性的作用域变量基于camelBase时,为什么它们需要用连字符分隔