为每个元素ng-repeat应用自定义ng-attr

时间:2014-11-28 21:24:26

标签: javascript angularjs

我有一个带有按钮的div的角度列表,我想为其创建一个具有常量值的属性(现在,测试)

<div ng-repeat="item in items">
    <button type="button" data-ng-attr-selected="{{ 'selected' }}">Test</button>
</div>

所以我希望每个按钮元素都有一个属性selected="selected",但事实并非如此。为什么呢?

1 个答案:

答案 0 :(得分:1)

出于某种原因,可能因为这是一个有意义的关键字,无法使用selected定义ngAttr属性。您的代码与其他属性名称完美配合:

<div ng-repeat="item in items">
    <button type="button" data-ng-attr-is-selected="{{ 'is-selected' }}">Test</button>
</div>

如果你真的想要一个属性selected,你可以使用ngSelected指令,但要注意你的值将被转换为布尔值:

<div ng-repeat="item in items">
    <!-- Result: <button type="button" selected="selected">Test</button> -->
    <button type="button" ng-selected="'test'">Test</button>

    <!-- Result: <button type="button">Test</button> -->
    <button type="button" ng-selected="0">Test</button>
</div>