【发布时间】:2015-07-27 01:09:27
【问题描述】:
我在查看聚合物 1.0 中输入有效性的更改时遇到了一些麻烦。更准确地说,应该在对绑定的“无效”属性进行任何更改时触发的观察者函数没有像我期望的那样触发。例如,当控件第一次变为无效时,该函数可能会触发,但如果再次变为有效,则不会触发观察者函数(无效不变为假?)。在我当前的示例中,我碰巧使用了 Polymer 1.0 的 gold-email-input 元素,如下所示:
从我的自定义元素的本地 DOM 模板中提取:
<paper-icon-item>
<iron-icon icon="social:person"></iron-icon>
<gold-email-input id="userEmail" bind-value="{{userEmail}}" required auto-validate invalid="{{invalidEmail}}" error-message="Invalid email address"></gold-email-input>
</paper-icon-item>
从我的自定义元素的脚本声明中提取:
properties: {
invalidEmail: {type: Boolean, observer: 'emailValidityChanged'}
}
emailValidityChanged: function(newVal, oldVal) {
console.log(this.nodeName + " emailValidityChanged observer fired\n");
}
我可能在这里遗漏了一些简单的东西?我还尝试观察 userEmail 属性的变化,然后在观察者函数中检查 this.$.userEmail.invalid 的状态,但无济于事。当条目变为有效时,invalid 属性似乎没有被重置。有什么建议么?也许完全是另一种方法?
【问题讨论】:
标签: polymer polymer-1.0 paper-elements