Javascript 调用指令时ng keyup不工作

Javascript 调用指令时ng keyup不工作,javascript,angularjs,angular-ngmodel,Javascript,Angularjs,Angular Ngmodel,我有一个设置,在其中我调用一个指令来检查用户名的可用性,但我希望它在用户单击输入字段以在注册时添加新用户名(模式)时执行。但ng keyup似乎不起作用,有谁能帮忙解决问题吗 myApp.directive('usernameavable',函数($timeout,$q,$http,apirl){ 返回{ 限制:“AE”, 要求:'ngModel', 链接:功能(范围、elm、属性、模型){ 范围:$watch(attr.ngModel,function)(uname){ /*验证用户名ajax

我有一个设置,在其中我调用一个指令来检查用户名的可用性,但我希望它在用户单击输入字段以在注册时添加新用户名(模式)时执行。但ng keyup似乎不起作用,有谁能帮忙解决问题吗

myApp.directive('usernameavable',函数($timeout,$q,$http,apirl){
返回{
限制:“AE”,
要求:'ngModel',
链接:功能(范围、elm、属性、模型){
范围:$watch(attr.ngModel,function)(uname){
/*验证用户名ajax调用*/
$http({
方法:“获取”,
url:apiUrl+“getUserNameValidated”,
contentType:“应用程序/json”,
数据类型:“json”,
超时:180000,//180秒
参数:{'username':uname}
}).成功(功能){
sessionStorage.setItem('uneaavailability',res.msg);
$timeout(函数(){
如果(res.msg==“成功”){
型号.$setValidity('usernameExists',true);
}否则{
型号.$setValidity('usernameExists',false);
}
}, 1000);
}).错误(函数(x,t,m){
swal(“连接到服务器时出错”);
如果(t==“超时”){
swal(“超时”);
}否则{
//警报(t);
}
});
});
}
}
});

它与验证无关,它与基于某些条件调用指令有关(如果是其中一种方式)


我希望大家都能理解。

我想你的问题的答案可以在这个链接中找到,所以请使用处理异步验证的,例如向后端发出
$http
请求。添加到对象的函数必须返回一个承诺,该承诺在有效时必须解析,在无效时必须拒绝。正在进行的异步验证通过密钥存储在ngModelController中。$pending。有关详细信息,请参阅。@georgeawg-它与验证无关,它与基于某些条件调用指令有关(如果是其中一种方式)。@georgeawg-我希望触发正常的onkeyup事件(角度)-我无法理解这就是为什么-我在这里问它-它与你所指的没有关系,或者我无法理解整件事-我是个新手。