2017-10-16 81 views
0

我对聚合物相当新,但认为这是一个很棒的概念,虽然我有一些麻烦实现我通常没有问题的基本东西。纸张输入值无法访问聚合物

我有一个模板,我有一个纸张输入元素。如果我填充这个元素,我希望能够单击一个按钮并将该输入字段的值传送到其他位置。简单的权利?

不,不管我做什么,我似乎无法访问该输入字段的值。这就像ID不存在。我认为这是因为阴影的原因,但我根本不知道为什么!

我试过这个。$。messaged.value,document.querySelector('#messaged')。value和更多没有成功。还需要做什么?提前致谢!!

<link rel="import" href="../../../bower_components/paper-input/paper-input.html"> 
<dom-module id="dd-bully"> 
    <template> 
<paper-input id="messaged" value="{{messaged}}"></paper-input> 
    <paper-button raised on-tap="sendmsg"></paper-button> 
    </template> 
    <script src="bully.js"></script> 
</dom-module> 

和下面的脚本内容:

class Bully extends Polymer.Element { 
     static get is() { 
      return 'dd-bully'; 
     } 

     static get properties() { 
      return { 
       messaged: { 
        type: String, 
        value: "test message" 
       } 
      }; 
     } 
     sendmsg() { 
      this.messaged = window.msg /* latest test */ 
      console.log(messaged) 
      window.socket.emit('sendmsg', window.msg, err => { 
       if (err) { 
        console.error(err); 
        return; 
       } 
      }); 
     } 
    } 
    customElements.define(Bully.is, Bully); 

回答

0

<paper-input>已经更新messaged通过双向数据绑定(即,value="{{messaged}}")。在sendmsg()中,您可以通过this.messaged(不是this.messaged.value)读取messaged的值。

sendmsg() { 
    console.log('messaged', this.messaged); 
    this.messaged += ' SENT!'; 
} 

demo

+0

谢谢谢谢谢谢! – Erik

+0

@Erik没问题:) – tony19