angularjs做autocomplete插件时需要对用户的输入进行监听,如果用户每输入一次就向后台发送一次请求的话,对于小流量的项目可以做到即输即查,但是流量大的网站可能就会刷爆服务器,所以最好是用户输入后做几百毫秒的延迟然后再向服务器发送请求。
直接上代码:
//定义定时器变量
var timeout;
$scope.orderNameChange=function(){
//如果定时器已经有值了则取消当前定时器
if(timeout){
$timeout.cancel(timeout)
}
//设置定时器,延迟500毫秒
timeout=$timeout(function(){
//做向后台查询的动作
},500)
}