猿问

在AngularJS中有条件地应用属性的最佳方法是什么?

在AngularJS中有条件地应用属性的最佳方法是什么?

我需要能够根据范围内的布尔变量向元素添加“contenteditable”。

使用示例:

<h1 attrs="{'contenteditable=\"true\"': editMode}">{{content.title}}</h1>

如果$scope.editMode设置为,则会导致将contenteditable = true添加到元素中true。有没有一些简单的方法来实现这样的ng-class属性行为?我正在考虑写一个指令并分享,如果没有。

编辑: 我可以看到我提出的attrs指令和ng-bind-attrs之间似乎有一些相似之处,但它在1.0.0.rc3中删除了,为什么会这样呢?


慕码人2483693
浏览 619回答 3
3回答

POPMUISE

当使用ng-class时,我使用以下条件有条件地设置类attr(例如在设置SVG样式时):ng-attr-class="{{someBoolean&nbsp;&&&nbsp;'class-when-true'&nbsp;||&nbsp;'class-when-false'&nbsp;}}"相同的方法应该适用于其他属性类型。(我认为你需要使用最新的不稳定Angular来使用ng-attr-,我目前正在使用1.1.4)

慕工程0101907

以防万一你需要Angular 2的解决方案然后它的简单,使用属性绑定,如下所示,例如你想要有条件地输入只读,然后在方括号中添加attrbute,然后是= sign和expression。<input&nbsp;[readonly]="mode=='VIEW'">
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答