javascript - "ctrl"在指令的 LINK 中未定义

标签 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 部分: -- 尝试了如下所示的两个 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/

相关文章:

angular - 无法在单元测试用例中调用@HostListener方法

javascript - 更改 JavaScript 中 confirm() 的默认标题?

javascript - 在动态创建的元素上使用 ng-model

node.js - AngularJS 强制 Firefox/Safari 下载文件而不是在浏览器中打开

javascript - 指令可以从父范围中删除自身吗

javascript - 如何缓存同一用户重复调用的 AngularJS 指令?

javascript - 如何改变 svg 的颜色?

javascript - 尴尬的逃脱角色

Javascript - 防止 Chrome 在长循环期间终止页面

javascript - 在 Angularjs 中按对象属性过滤