我想知道有一种方法可以添加 ng-click
作为属性?
假设我想添加 ng-click
如果我<li>
有课 someClass
:
angular.element(root.querySelector('li.someClass').attr({'ng-click': 'someFunc()'});
当 <li>
有课 anotherClass
我想重置 ng-click:
angular.element(root.querySelector('li.someClass').attr({'ng-click': ''});
但是没有成功。
我无法在 HTML 中实现:
<li class="someClass" ng-click="someFunc()"> ... </li>
<li class="anotherClass"> ... </li>
因为我的 HTML 是由 ng-repeat
动态生成的还有一个指令使 ng-hide
变得困惑.
最好的解决方案是 angular.element
但是ng-click
属性不对吗?
(我可以在Visual Studio中调试代码,当我以某种方式添加ng-click
时<li ng-click="someFunc()">...</li>
我在VS中的Locals Window
中找不到它)
最佳答案
检查处理函数中的类名,而不是重置 ng-click
JS
$scope.someFunc = function (e) {
if(angular.element(e.target).hasClass("someClass")){
//code goes here
};
}
HTML
<li class="someClass" ng-click="clickHandler($event)">Button</li>
关于javascript - 添加 ng-click 像属性 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833129/