2016-12-14 104 views
1

[达特+聚合物]聚合物 - 如何从纸张中获取ID输入?

您好,

我有在聚合物DOM重复模板PaperInput元件。所以,有几个,@Listen等我尝试获取id,但它只检索id =“labelAndInputContainer”(不管我在模板中做什么)。

这有一些窍门吗?我已经尝试过“一切” - 在过去的半天!

这里是我的HTML:

 <template is="dom-repeat" items={{rgetThem}}> 
      <paper-card heading={{yyyy(item)}} > 
       <div class="card-content" > 
        <p style="color:red">ID:{{getID(item)}}</p> 
         <paper-input on-change="onchangepassword" 
            label='Password' 
            id={{getID(item)}} 
            floatingLabel> 
         </paper-input> 
       </div> 

和听众:

@Listen ('onchangepassword') 
    void onchangepassword(Event custEvent, var t) { 
    IronInput PI=custEvent.target; 
    Element yy=PI.parent; 
    String id=yy.id; 
    } 

任何建议深受欢迎。

感谢

史蒂夫

+0

https://www.polymer-project.org/1.0/docs/devguide/templates#handling-events。 Event.model.item.id –

+0

这可能是Lymp之后的事情,但我的印象是Lymp提出了一个获取引发事件的PaperInput的id的方法的问题。没关系 :-) –

回答

1

你可以尝试

Element yy=PI.parent.closest('paper-input'); 

你面临的问题是纸元件封装包裹在div元素铁input元素。找到最接近的纸张输入将会找到烙铁输入封装的纸张输入,因为这是最近的一个。我相信还有其他方法可以做到这一点,但这对我很有用。事实上,你可以做

Element yy=PI.closest('paper-input'); 

这将工作得很好。

UPDATE:

见状约DOM-repeat事件模型的评论,它发生,我可能要更高分子飞镖具体的文档链接。

https://github.com/dart-lang/polymer-dart/wiki/data-binding-helper-elements#handling-events-in-dom-repeat-templates

至于有人建议

model.item.id 

而且我不会把功劳我的回答除了飞镖特定链接的更新部分。