有条件地添加角度属性

时间:2013-09-12 12:22:00

标签: angularjs

我想使用$ scope设置是否应该在angular中使用属性。这是我的范围:

fields:
    [
        {
            label: 'First Name',
            name: 'firstname',
            key: 'entry.326845034',
            type: 'text',
            required: true
        }
    ]

这是我想要设置的必需属性。我想象{{if fields.required == true | required}}之类的东西,但我找不到任何关于它的文档。

2 个答案:

答案 0 :(得分:32)

你想在像这样的表单元素上设置必需吗?

<input required>

如果是这样,你可以使用

<input ng-required="fields.required"> 

并且变量的true / false状态将最终应用或删除输入上的必需属性。

答案 1 :(得分:0)

使用"ng-attr",您可以动态地向HTML添加属性,如果您有angular 1.14或更晚。

我有一个包含两列的表(ROLL NO&amp; STUDENT NAME),我必须在“STUDENT NAME”列中添加一个属性(st-sort-default),以指示用户该表已按同一列排序。

我使用过ng-attr属性

ng-attr-(attribute name required)="condition"

如果条件为真,它将添加您指定的属性名称

e.g: -

(适用 - 控制器 - )

$scope.headers= [{key:'id',title:'ROLL NO'},{key:'name',title:'STUDENT NAME'}]

<强>( - HTML - )

<th ng-repeat="col in headers" ng-attr-st-sort-default="{{col.key ==='name'}}"> {{col.title}} 
</th>