我有以下代码
<li data-target="#myCarousel" *ngFor="#data of lengthArray" data-slide-to="data.index" class="data.class"></li>
我从http服务获取数据lengthArray,长度为2,我得到2个li元素但属性没有分配给它们
我甚至尝试像这样分配[data-slide-to] =&#34; data.index&#34;和#even,所有可能的方式
在浏览器检查元素中我可以看到
<li data-target="#myCarousel" data-slide-to="data.index" class="data.class"></li>
我希望在哪里
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1" class=""></li>
根据我的长度数据,即数据
答案 0 :(得分:3)
应该是
[attr.data-slide-to]="data.index" [class]="data.class"
没有[]
或{{}}
Angular根本不评估该值。
data-slide-to="data.index" class="data.class"
因此,按原样添加。
默认情况下,Angular2绑定到属性。任何元素都没有data-slide-to
属性,除非它是Angular2组件且它有@Input('data-slide-to')
要使用
绑定到属性[attr.attrname]="value"
或
attr.attrname="{{value}}"
绑定到属性而不是属性,并指示Angular2需要解析该值。