Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS-有条件地应用属性?_Angularjs_Angular Ui - Fatal编程技术网

AngularJS-有条件地应用属性?

AngularJS-有条件地应用属性?,angularjs,angular-ui,Angularjs,Angular Ui,有条件地应用一个元素很容易——只需使用ng show即可。但是属性呢 即 ... 只需要对管理员进行排序,所以请执行以下操作 <div ng-conditional-attribute=" {'ui-sortable': 'user.isAdmin()'} "> ... </div> ... 创建一个自定义指令或模板,并在附加可排序的版本和不附加可排序的版本之间切换。因为许多指令也可以从类中工作ng class=“{'ui-sortable':user.isA

有条件地应用一个元素很容易——只需使用ng show即可。但是属性呢


...
只需要对管理员进行排序,所以请执行以下操作

<div ng-conditional-attribute=" {'ui-sortable': 'user.isAdmin()'} ">
  ...
</div>

...

创建一个自定义指令或模板,并在附加可排序的版本和不附加可排序的版本之间切换。

因为许多指令也可以从
类中工作
ng class=“{'ui-sortable':user.isAdmin()}”


我对
angular ui
指令了解得不够,不知道他们在派对迟到时有什么限制,但这可能会帮助某些人:

ng-readonly ="" 
如果表达式为truthy,则将设置属性


还有许多其他ng属性以这种方式工作

这绝对是一个很好的解决方案。但是出于对DRY的兴趣,您需要寻找使用更少代码的东西。无论您采取何种方式,您基本上都必须编写一个新的指令。如果对2个变体使用
ui,则可以使用
ui,但子DOM仍然会重复。创建自定义指令并有条件地添加属性。如果优先级高于sortable,它应该可以正常工作。那还不错。谢谢你。@ProLoser你介意举个例子吗?如果
admin
是真实的,我也希望
是真实的,如果不是,我希望
是真实的。您将如何编写一个指令来实现这一点?有人对此有更先进的解决方案吗?抓挠我的头!!你知道吗,这是一个我没想到的有趣的主意。我想不出有什么真正的理由认为这些限制应该阻止在类中使用。这可能是值得测试的。经过思考(以及更多的测试),我意识到这是行不通的。所有指令的位置都在编译时缓存,由于此类在编译时不存在,因此该指令永远不会绑定
ng-readonly =""