Data binding 聚合物数据绑定数组索引

Data binding 聚合物数据绑定数组索引,data-binding,polymer,Data Binding,Polymer,如何使用变量作为聚合物中的数组索引? 因为我知道这是可行的: {{array.0}} 我尝试了这个,但没有成功(如预期的那样): 代码: 但却得到了这个: device 1 is turned }} device 2 is turned }} device 3 is turned }} 使用polymer还是应该使用JS(以及如何使用)?1)不确定为什么不使用属性,我认为这是预期的方式,而不是在ready事件中设置属性 2) 我认为如果没有getter方法(=一些JavaScript),就不

如何使用变量作为聚合物中的数组索引? 因为我知道这是可行的:

{{array.0}}
我尝试了这个,但没有成功(如预期的那样):

代码:

但却得到了这个:

device 1 is turned }}
device 2 is turned }}
device 3 is turned }}
使用polymer还是应该使用JS(以及如何使用)?

1)不确定为什么不使用属性,我认为这是预期的方式,而不是在ready事件中设置属性

2) 我认为如果没有getter方法(=一些JavaScript),就不可能做到这一点。这项工作:


{{item.name}}变为{{{u getStateText(stateText,item.state)}}

聚合物({ 是:“设备列表”, 特性:{ 设备:{type:Array, 价值:[{ 名称:“设备1”, 州:0 }, { 名称:“设备2”, 国家:1 }, { 名称:“设备3”, 国家:1 }] }, stateText:{type:Array,值:[“OFF”,“ON”]} }, _getStateText:函数(stateText,state){ 返回stateText[状态]; } });
谢谢,这真的帮助了我:)
<dom-module id="device-list">
    <template>
        <template is="dom-repeat" items="[[devices]]">
            <p>{{item.name}} is turned {{stateText.{{item.state}}}</p>
        </template>
    </template>
</dom-module>
<script>
    Polymer({
        is: "device-list",
        ready: function () {
            this.devices = [
                {
                    name: "device 1",
                    state: 0
                },
                {
                    name: "device 2",
                    state: 1
                },
                {
                    name: "device 3",
                    state: 1
                }
            ];
            this.stateText = ["OFF","ON"];
        }
    });
</script>
device 1 is turned OFF
device 2 is turned ON
device 3 is turned ON
device 1 is turned }}
device 2 is turned }}
device 3 is turned }}
<dom-module id="device-list">
<template>
    <template is="dom-repeat" items="[[devices]]">
        <p>{{item.name}} is turned {{_getStateText(stateText,item.state)}}</p>
    </template>
</template>
</dom-module>
<script>
    Polymer({
        is: "device-list",
        properties: {
          devices: {type:Array,
                  value: [{
                    name: "device 1",
                    state: 0
                },
                {
                    name: "device 2",
                    state: 1
                },
                {
                    name: "device 3",
                    state: 1
                }]
          },
           stateText:{type:Array, value:["OFF","ON"]}
        },
        _getStateText:function(stateText,state) {
        return stateText[state];
      }
    });
</script>