聚合物:如何使用嵌套属性为纸张选项卡设置默认值

时间:2016-04-08 14:49:54

标签: javascript polymer

我想为paper-tabs的所选项目设置默认值

它工作正常,如果我像这样编写所选属性:

<paper-tabs selected="{{tabname}}"
            attr-for-selected="key">
    <paper-tab key="foo">Foo</paper-tab>
    <paper-tab key="bar">Bar</paper-tab>
    <paper-tab key="baz">Baz!</paper-tab>
</paper-tabs>

但我想使用这样的嵌套属性:

<paper-tabs selected="{{data.tabname}}"
            attr-for-selected="key">
    <paper-tab key="foo">Foo</paper-tab>
    <paper-tab key="bar">Bar</paper-tab>
    <paper-tab key="baz">Baz!</paper-tab>
</paper-tabs>

这些是我的财产:

properties: {
    data: {
        type: Object,
        value: function () {
            return {                    
                tabname: {
                    type: String,
                    value: 'foo'
                }
            }
        },
    }
}

这是功能性的Plnkr:http://plnkr.co/edit/GRrJh0p2s9uReLnC3Ze7?p=preview

我希望默认设置为key,即索引中的第一个div。谁知道为什么我的plnkr不工作?

1 个答案:

答案 0 :(得分:1)

我不认为在对象中创建属性会在Polymer中以这种方式工作。做这样的事情有效:

properties: {
    data: {
        type: Object,
        value: function () {
            return {                    
                tabname: 'foo'
            }
        },
    }
}

或者:

properties: {
    data: {
        type: Object,
        value: {                    
            tabname: 'foo'
        },
    }
}