2017-10-16 82 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