“ctrl”在指令的LINK中未定义

时间:2015-03-04 18:09:13

标签: javascript angularjs angular-directive

我已经尝试了几乎所有东西,但是" 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 Part: - 尝试了下面显示的两个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/>

1 个答案:

答案 0 :(得分:-4)

链接功能没有第四个参数。来自Angular的API文档链接采用具有以下签名的函数function link(scope, element, attrs) { ... }