像添加AngularJS属性一样添加ng-click
Add ng-click like an attribute AngularJS
我想知道是否可以将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中调试代码,当我以<li ng-click="someFunc()">...</li>
的方式添加ng-click
时,我无法在VS中的Locals Window
中找到它)
在handler函数中检查类名而不是reset 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>
你不能真正切换ng-click
,因为它是一个angular指令,但你可以添加这样的条件:
<li ng-click="someVar === true ? callOnMe() : ''">CLICK ME</li>
演示小提琴:http://jsfiddle.net/gnrL6cLw/
注意:将$scope.someVar
更改为true以看到警报
没有看到您的ng-repeat
代码,很难说-但是,如果我正确理解您的目标,我认为您可以使用ng-switch
与ng-switch-when
来实现您想要的输出:
<ul ng-repeat="item in items" ng-switch="item.someCondition">
<li ng-switch-when="true" class="someClass" ng-click="someFunc()">...</li>
<li ng-switch-when="false" class="anotherClass">...</li>
</ul>
这样,它应该根据条件呈现您想要显示的列表项。当然,item.someCondition
不一定是布尔值—您可以匹配字符串、int或任何其他类型。
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 在SVG地图上添加水的渐变,就像在谷歌地图(PHP/JS)中一样
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- IE DIV悬停区域不一样.直到我添加背景颜色
- 有没有办法在javascript中创建哈希图并像添加和删除值一样对其进行操作
- JavaScript 在添加值时,它会像字符串一样计算
- 在SlickGrid的dataView的第一行添加一个新项目,就像JavaScript的unshift一样
- JavaScript,将我使用过parseInt的两个变量添加到一起,像字符串一样输出
- 添加到WebSocket.onmessage()中,就像jQuery添加到事件中一样
- 我如何添加时间延迟到我的潜水,使他们出现一个接一个像幻灯片一样
- 像添加AngularJS属性一样添加ng-click
- jQuery:是否有一种方法可以自动添加属性到动态生成的HTML中,就像live()处理事件一样
- 为什么一个整数会像字符串一样被添加到变量中?