Это ключевое слово в угловых 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'
};
Другие вопросы по тегам