Javascript 在我的自定义指令中未定义控制器模型
我在angular应用程序中添加了一个自定义指令,该指令负责验证邮件是否有效,该指令似乎运行良好,因为我收到了错误消息:Javascript 在我的自定义指令中未定义控制器模型,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我在angular应用程序中添加了一个自定义指令,该指令负责验证邮件是否有效,该指令似乎运行良好,因为我收到了错误消息: myApp.directive('validateEmail', function(ValidationService) { return { require: 'ngModel', controller: function($element) { var ctrl = $element.controller('ngModel'
myApp.directive('validateEmail', function(ValidationService) {
return {
require: 'ngModel',
controller: function($element) {
var ctrl = $element.controller('ngModel');
ctrl.$validators.validateEmail =
function(modelValue, viewValue) {
return ValidationService.isValidEmail(viewValue);
};
}
};
});
当我试图提交表格时,在控制台中出现了以下奇怪的错误:
错误:ctrl未定义
控制器@
援引@
$ControllerProvider/this$gethttps://code.angularjs.org/1.5.1/angular.js:9886:24
nodeLinkFn@
复合物@
公共链接fn@
CompliationGenerator/将控制器更改为链接
myApp.directive('validateEmail', function(ValidationService) {
return {
require: 'ngModel',
link: function (scope, element, attrs, ctrl) {
ctrl.$validators.validateEmail =
function(modelValue, viewValue) {
return ValidationService.isValidEmail(viewValue);
};
}
};
});
将控制器更改为链接
myApp.directive('validateEmail', function(ValidationService) {
return {
require: 'ngModel',
link: function (scope, element, attrs, ctrl) {
ctrl.$validators.validateEmail =
function(modelValue, viewValue) {
return ValidationService.isValidEmail(viewValue);
};
}
};
});