Я добавил событие onblur
во все поля ввода и хочу получить $scope
и $element
при запуске события onblur
. Но когда я использую this.$element
для получения элемента, я получаю undefined
.
Когда я регистрирую только это, я получаю тег ввода. Как я могу получить $scope
и $element
для события onblur
?
Код:
constructor($document, $element, $scope) {
this.$document = $document;
this.$element = $element;
this.$scope= $scope;
}
FunCall() {
const formElements = this.$element[0].querySelectorAll('input');
const watchElement = angular.element(formElements[0]);
console.log(this);
watchElement[0].onblur = function() {
console.log(this); // html input element
console.log(this.$scope); // undefined
console.log(this.$element); // undefined
};
}
В первом журнале я получаю правильное значение this, то есть контроллер , Во втором журнале внутри события onblur
я получаю элемент HTML и получаю undefined
для $scope
и $element
. Как получить контроллер, как первый внутри события onblur
?
И я хочу запустить функцию внутри события onblur
, но это не сработало:
watchElement[0].onblur = function() {
this.runSecondFunction();
};
runSecondFunction() {
console.log('test 2nd function');
}