2017-07-30 94 views
0

我想知道angularjs中是否有方法根据条件添加或删除属性。 例如,而不是写这样的事情Angularjs - 有条件地设置属性

<div ng-if="isClickable" ng-click="clicked()">This is my button</div> 
<div ng-if="!isClickable"> this is my button</div> 

我能写的东西,也许,这样的:

<div ng-click="clicked()" ng-attrs="{'ng-click': isClickable}"> 
+3

使用方式建议你为什么不只是使用''

This is my button
添加 –

+1

属性有哪些AngularJS指令是有问题的,因为那些添加的指令需要被编译。删除这些指令甚至更成问题。该框架不支持这样的。寻找另一种方式来实现你想要的。 – georgeawg

回答

2

使用任何角度你不能删除属性指令(你可以通过编写你自己的自定义指令来做到这一点)。相反,你可以这样div的转化为button,并使用ng-disabled

<button ng-disabled="!isClickable" ng-click="clicked()">This is my button</button> 

或者您也可以通过@JBNizet

<div ng-click="isClickable && clicked()">This is my button</div> 
+0

在这种情况下,这很简单,但在复杂的情况下,您可以更轻松地复制 –

+0

@ user3554268您是否可以解释您具有的复杂场景? –