Это ключевое слово в угловых JS показывает тип ошибки
Я хочу нацелить и элемент, который нажимается в угловых, но без jQuery.
$scope.hide = function() {
this.querySelector('ul').style.display = 'none'
};
Но я получаю эту ошибку:
Ошибка типа: this.querySelector не является функцией.
Я новичок в Angular. Я делаю что-то не так?
3 ответа
this
внутри этой функции не будет ссылаться на объект, к которому вы относитесь (попробуйте отладку и / или запись в журнал). Я предлагаю прочитать о том, как this
Ключевое слово работает в Javascript.
Вместо этого вы хотите сделать просто document.querySelector
,
В любом случае, "Угловой способ" показать / скрыть вещи использует директиву вроде ngShow
, Например:
$scope.isVisible = true;
$scope.hide = function() { $scope.isVisible = false; };
<div ng-show="isVisible">...</div>
this
Ключевое слово является ссылкой на объект. Здесь у вас нет объекта, поэтому нет смысла ссылаться на него. Вот почему он говорит, что селектор запросов не является функцией, потому что ваш this
не определено + Изменить this
с document
,
$scope.hide = function() {
document.querySelector('ul').style.display = 'none'
};