纸张输入值不可访问聚合物
Paper-input value not accessible Polymer
我对 Polymer 还很陌生,但我认为这是一个很棒的概念,尽管我在实现非常基本的东西时遇到了一些困难,而我通常不会遇到任何问题。
我有一个模板,其中有一个纸张输入元素。如果我填充这个元素,我希望能够单击一个按钮并将值从该输入字段传输到其他地方。简单吧?
不,无论我做什么,我似乎都无法访问该输入字段的值。好像这个ID不存在一样。我认为这是因为阴影 dom,但我完全不知道为什么!
我已经尝试使用 this.$.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);
<paper-input>
已经通过双向数据绑定(即 value="{{messaged}}"
)更新 messaged
。在 sendmsg()
中,您可以通过 this.messaged
(而不是 this.messaged.value
)读取 messaged
的值。
sendmsg() {
console.log('messaged', this.messaged);
this.messaged += ' SENT!';
}
我对 Polymer 还很陌生,但我认为这是一个很棒的概念,尽管我在实现非常基本的东西时遇到了一些困难,而我通常不会遇到任何问题。
我有一个模板,其中有一个纸张输入元素。如果我填充这个元素,我希望能够单击一个按钮并将值从该输入字段传输到其他地方。简单吧?
不,无论我做什么,我似乎都无法访问该输入字段的值。好像这个ID不存在一样。我认为这是因为阴影 dom,但我完全不知道为什么!
我已经尝试使用 this.$.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);
<paper-input>
已经通过双向数据绑定(即 value="{{messaged}}"
)更新 messaged
。在 sendmsg()
中,您可以通过 this.messaged
(而不是 this.messaged.value
)读取 messaged
的值。
sendmsg() {
console.log('messaged', this.messaged);
this.messaged += ' SENT!';
}