2014-10-28 77 views
0

如何从post-card元素中更新order-items-list元素中的绑定数据?聚合物 - 使用绑定数据刷新模板

我使用的是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

如果键中有-的属性,则需要使用括号表示法才能访问它们。

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

否则,它的分析是这样的:

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

你正在做一些奇怪的减法,parent是不确定的。

+0

在实际的代码中,ID没有“-'(对不起)。我只是在重写问题的代码时添加了这个。但感谢您的答案。我更新了问题并插入了括号。 – davidwroxy 2014-10-28 20:06:48

+0

你仍然在做错 - 你需要报价,并在开始时没有时间。 – Scimonster 2014-10-28 20:07:28

+0

现在我更新了问题以更接近我的实际代码。我删除了'-'。 – davidwroxy 2014-10-28 20:10:04