我为2个div定义了两个指令:一个用于验证电话号码,另一个用于电子邮件验证。这里的问题是,当我运行它时,它将只执行一个在directives.js文件中作为第二个给出的验证。在HTML页面中,我有两个不同的电话号码和电子邮件div。我该如何解决这个问题?
<div id=maindiv><div class="number"><input id="Cont_No" name="phone" type="text" data-phone placeholder="ENTER NUMBER" ng-model="phone"/></div><div class="mail" ><input id="Cust_Email" name="email" type="email" data-email placeholder="ENTER EMAIL" ng-model="email" /></div></maindiv>.
上面给出了Html。下面给出了指示性描述
angular.module('myApp.directives', []).directive('email', function() {
return {
restrice: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
angular.element(element).bind('blur', function() {
//some code
});
}
}
});
angular.module('myApp.directives', []).directive('phone', function() {
return {
restrice: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
//console.log("helo");
angular.element(element).bind('blur', function() {
//some code
});
}
}
});
这里只有电话指令正在执行。如果重新排列orser,只有电子邮件指令才会执行。
答案 0 :(得分:0)
我不确定,但我相信问题可能是你通过两次调用module('moduleName', [])
基本上覆盖了该模块。
尝试使用module('moduleName', [])
调用第一个指令,使用module('moduleName')
答案 1 :(得分:0)
Hy,我认为你的映射有问题。 Try my example with your code。看来你没有初始化模块。