带有NodeJ的AngularJs无法访问定向链接功能中的AngularJs服务
我试图创建使用NodeJS编写的Angular.js指令,并希望在指令链接函数中使用外部Angular服务,如$parse,我无法访问未定义的注入服务。请帮我做这件事。这是我的指示:带有NodeJ的AngularJs无法访问定向链接功能中的AngularJs服务,angularjs,node.js,angularjs-directive,Angularjs,Node.js,Angularjs Directive,我试图创建使用NodeJS编写的Angular.js指令,并希望在指令链接函数中使用外部Angular服务,如$parse,我无法访问未定义的注入服务。请帮我做这件事。这是我的指示: 'use strict'; var ngMatch = function($parse) { return { restrict :'AE', link: link, require: '?ngModel' } }; /** @ngInject */ function link
'use strict';
var ngMatch = function($parse) {
return {
restrict :'AE',
link: link,
require: '?ngModel'
}
};
/** @ngInject */
function link(scope, elem, attrs, ctrl) {
// if ngModel is not defined, we don't need to do anything
if (!ctrl) return;
if (!attrs['ngMatch']) return;
var firstPassword = $parse(attrs['ngMatch']);
var validator = function (value) {
var temp = firstPassword(scope),
v = value === temp;
ctrl.$setValidity('match', v);
return value;
}
ctrl.$parsers.unshift(validator);
ctrl.$formatters.push(validator);
attrs.$observe('ngMatch', function () {
validator(ctrl.$viewValue);
});
}
ngMatch.$inject =['$parse'];
module.exports = ngMatch;
- 最好不要使用ngMatch。如果Angular决定使用内置的ngMatch指令,则会发生名称空间冲突
- 您刚刚定义了两个对象ngMatch和link。angular不可能知道ngMatch是一个指令
- 最好不要使用ngMatch。如果Angular决定使用内置的ngMatch指令,则会发生名称空间冲突
- 您刚刚定义了两个对象ngMatch和link。angular不可能知道ngMatch是一个指令