2017-10-16 6 views
0

Je suis assez nouveau avec Polymer mais je pense que c'est un concept génial, même si j'ai quelques difficultés à obtenir des choses assez basiques avec lesquelles je n'ai normalement aucun problème.La valeur d'entrée du papier n'est pas accessible Polymer

J'ai un modèle où j'ai un élément d'entrée de papier. Si je remplis cet élément, je veux pouvoir cliquer sur un bouton et transférer la valeur de ce champ de saisie à un autre endroit. Simple, non? Non, peu importe ce que je fais, je n'arrive pas à accéder à la valeur de ce champ de saisie. C'est comme si l'ID n'existait pas. Je pense que c'est à cause de l'ombre dom, mais je n'ai aucune idée du pourquoi!

J'ai essayé avec ceci. $. Messaged.value, document.querySelector ('# messaged'). Value et plus sans succès. Quoi d'autre y a-t-il à faire? Merci d'avance!!

<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> 

Et le contenu du script ci-dessous:

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); 

Répondre

0

La <paper-input> est mise à jour déjà messaged à travers les données dans les deux sens de liaison (à savoir value="{{messaged}}"). Dans sendmsg(), vous pouvez lire la valeur de messaged via this.messaged (pas this.messaged.value).

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

demo

+0

Merci merci merci !!! – Erik

+0

@Erik Aucun problème :) – tony19