我想要以角度点击但没有jQuery的目标和元素。
$scope.hide = function() {
this.querySelector('ul').style.display = 'none'
};
但是我收到了这个错误:
TypeError:this.querySelector不是函数。
我是Angular的新手。我做错了吗?
答案 0 :(得分:1)
该函数内的this
不会引用您认为引用的对象(尝试调试和/或记录它)。我建议您阅读how the this
keyword works in Javascript。
相反,您只想做document.querySelector
。
无论如何,显示/隐藏事物的“Angular方式”正在使用像ngShow
这样的指令。 E.g:
$scope.isVisible = true;
$scope.hide = function() { $scope.isVisible = false; };
<div ng-show="isVisible">...</div>
答案 1 :(得分:1)
this
关键字是对象的引用。在这里你没有一个对象所以没有参考它的意义。这就是为什么它说查询选择器不是函数导致this
未被定义的原因。使用this
更改document
。
答案 2 :(得分:0)
$scope.hide = function() {
document.querySelector('ul').style.display = 'none'
};