我正在使用ng-messages对表单进行自定义验证,因此我需要解析一些字符串。因此,我导入了ng-string来利用它的功能。不幸的是,我只能在controller.js中使用它,但不能在directive.js中使用它。 我试过的事情:
只要我能在directive.js
中导入字符串 .directive('ngCustomdir', function(){
return {
restrict: 'A',
require:'ngModel',
link: function($scope, $element, $attrs, ngModel, string){
ngModel.$validators.customdir= function(modelValue){
console.log("checking");
return false;
};
ngModel.$validators.validemail=function(modelValue, string){
console.log("string:" + string(' ToTrim ').trim().s);
}
}
}
});
2.返回一个控制器进行解析(我放了一个打印你好的虚拟控制器)
.directive('ngCustomdir', function(){
return {
restrict: 'A',
require:'ngModel',
link: function($scope, $element, $attrs, ngModel, string){
ngModel.$validators.customdir= function(modelValue){
console.log("checking");
return false;
};
ngModel.$validators.validemail=function(modelValue, string){
//console.log("string:" + string(' ToTrim ').trim().s);
return{
controller: 'parseEmailCtrl'
};
}
}
}
})
.controller('parseEmailCtrl', function($scope, $state, $ionicHistory, $stateParams) {
console.log('hello');
})
我该怎么办?提前谢谢!
答案 0 :(得分:0)
注入指令本身,然后在整个指令
中的任何地方使用它 .directive('ngCustomdir', function(string){
link
具有预定的参数且不可注射
答案 1 :(得分:0)
您必须使用app.directive('ngCustomdir', function(){
在app
页面上定义index.html
作为ng-app="app"
。
然后在app.js
文件中定义var app = angular.module('app', ['ionic',etc.]);
,然后您可以使用app.directive('ngCustomdir', function(){
。
此致