1
Я пытаюсь создать директиву Angular.js, написанную с помощью NodeJS, и хочу использовать внешние угловые сервисы, такие как $ parse в функции директивной ссылки. Я не могу получить доступ к инъецированным службам, это не определено. Помогите мне, пожалуйста, сделать это. Вот моя директива:AngularJs с NodeJs не может получить доступ к угловым службам в функции директивной ссылки
'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 является директивой, иначе я бы не получил ошибку с синтаксисом $. – Nomi