聚合物 - 带有绑定数据的刷新模板

时间:2014-10-28 19:58:10

标签: javascript html polymer

如何从order-items-list元素中刷新post-card元素中的绑定数据?

我正在使用Polymerpolymer-element s位于影子DOM中。)

我一直试图解决这个问题几个小时,但无济于事(我是网络开发的新手)。我试过的一件事是:(给予错误:Cannot read property 'getElementsByTagName' of undefined

this.$.orderitemstemplateparent.getElementsByTagName('template')[0].iterator_.updateIteratedValue();

我有以下3个文件:

index.html

<html>
    <body unresolved>
        <core-header-panel>
            <div id="container">
                <div id="order-items-div>
                    <order-items-list id="order-items-list">

order-items-list.html

<polymer-element name="order-items-list">
    <template>
        <div id="orderitemstemplateparent">
            <template id="order-items-template" repeat="{{post in posts}}>
    <script>
        Polymer ({
            // FUNCTIONS THAT UPDATE THE DATA {{posts}} HERE 
        });
    </script>

post-card.html

<polymer-element name="post-card">
    <template id="card-template">
        <div id="card-header">
            <paper-ripple on-tap="{{cardClick}}"></paper-ripple>
    <script>
        Polymer ({
            cardClick: function(event, detail, sender) {
                // RELOAD #order-items-template FROM HERE
            }
        });
    </script>

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果密钥中包含-的属性,则需要使用括号表示法来访问它们。

this.$['order-items-template-parent'].getElementsByTagName('template')[0].iterator_.updateIteratedValue();

否则,它会像这样解析:

this.$.order - items - template - parent.getElementsByTagName('template')[0].iterator_.updateIteratedValue();

您正在进行一些奇怪的减法,parent未定义。