我已经尝试了几乎所有方法,但“ctrl”在 Link in 指令中仍然未定义。请检查。帮助将不胜感激。
错误:TypeError:无法读取未定义的属性“unshift”
我的指令:
myApp.directive("emailCheck", function(){
return{
restrict:"A",
require:'ngModel',
link: function(scope, elm, attrs, ctrl){
ctrl.$parser.unshift(function(viewValue)
{
console.log("asdf"+viewValue);
alert(1);
});
}
}
});
Html 部分: -- 尝试了如下所示的两个 html 部分。相同的结果。
<input email-check="user.email" type="email" id="email" placeholder="Email" name="email" ng-model="user.email" required/>
或
<input email-check type="email" id="email" placeholder="Email" name="email" ng-model="user.email" required/>
最佳答案
链接函数没有第四个参数。来自 Angular 的 API 文档链接采用具有以下签名的函数,function link(scope, element, attrs) { ... }
关于javascript - "ctrl"在指令的 LINK 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28861748/