聚合物元素不会触发“on <property> changed”;属性更改时的事件
Polymer element doesn't trigger the "on-<property>-changed" event when property changes
我正在使用来自聚合物目录的google- sign元素。我想听听聚合物元素之外的signedIn
属性的变化。该属性设置为notify: true
,并且在与更改通知相关的Polymer文档中,它说:
当将一个Polymer元素与其他元素或框架一起使用时,您可以手动地将一个on-property-changed侦听器附加到一个元素上,以便收到属性更改的通知,并根据新值采取必要的操作。
我试着听on-signIn-changed
, on-sign-in-changed
, on-property-changed
, signIn-changed
和sign-in-changed
,但这些事件都没有被触发。
监听事件的代码如下:
document.addEventListener("DOMContentLoaded", function() {
document.querySelector('google-signin').addEventListener('on-signIn-changed', function() {
// never gets called
});
});
我知道我可以听google-signin-success
事件(工作,我可以看到signedIn
已更改为true
),但我想了解为什么事件没有被触发/我做错了什么。
我注意到属性被称为signedIn
而不是signIn
。你试过addEventListener('signed-in-changed'
了吗?
一般来说,通知一个外部脚本到一个Polymer元素的属性改变:
- 确保
notify
在属性定义上被设置为true
。 - 从外部脚本,在元素上附加一个事件侦听器。事件名称应为
property-name-changed
,其中property-name
是破折号版本的属性名称(this.firstName
火灾first-name-changed
)。 - 假设事件监听器的参数名称为
e
,访问e.detail.value
.
的例子:
<body>
<!-- assume x-el changes its number property somehow -->
<x-el number="1></x-el>
<script>
(function(document) {
var el = document.querySelector('x-el');
el.addEventListener('number-changed', function(e) {
console.log('the new value is ' + e.detail.value);
});
})(document);
</script>
</body>
我现在在文档中添加一个部分,它将被记录在-> https://www.polymer-project.org/1.0/docs/devguide/properties.html#notify-external
这里有一个jsbin用于修补-> http://jsbin.com/risevu/edit?html,output
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何在选项卡上定义属性'的主窗口对象
- 锚点元素的href属性自动更改
- jQuery最近父级的数据属性选择器
- 聚合物元素不会触发“on
changed”;属性更改时的事件