Polymer模板中的数据绑定问题

时间:2016-01-18 08:53:01

标签: polymer

我有一个页面,我将数组绑定到输入字段。数据绑定似乎有点奇怪。

请看下面的例子

<!doctype html>
<html>
<head>
    <script src='bower_components/webcomponentsjs/webcomponents-lite.js'></script>
    <link rel='import' href='bower_components/polymer/polymer.html'>
    <link rel='import' href='bower_components/paper-input/paper-input.html'>
</head>
<body unresolved>
    <dom-module id='base-page'>
        <template>
            <template is='dom-repeat' as='cell' items='{{data}}'>
                <paper-input value='{{cell}}'></paper-input> 
            </template>
        </template>
    </dom-module>
    <script>
        Polymer({
            is: 'base-page',

            properties: {
                data: {
                    type: Array,
                    value: function() {
                        return [0,0]
                    }
                }
            }

        });
    </script>
    <base-page></base-page>
</body>

如果我在第二个纸张输入中编辑内容,则两者都会更改数据。但是,如果我将我的数据数组初始化为例如[0,1],然后细胞显然看起来不同,因此它能够区分细胞和数据绑定似乎工作。问题是什么?但更重要的是,我怎样才能使它发挥作用?

干杯谢谢: - )

1 个答案:

答案 0 :(得分:1)

AFAIK普通数字在数组中不能很好地工作。特别是在这里,如果聚合物具有相同的值,那么聚合物不能正确区分它们。

将它们包裹在像

这样的对象中
return [{value: 0}, {value: 0}]

然后像

一样使用它
<paper-input value='{{cell.value}}'></paper-input>