gpt4 book ai didi

javascript - polymer 1.x : Imperatively adding event listener

转载 作者:搜寻专家 更新时间:2023-11-01 04:15:10 25 4
gpt4 key购买 nike

我已经为我的 <iron-ajax> 添加了一个事件监听器到我的自定义元素中打电话。

问题

Is there a shorter (more convenient syntax) way to imperatively (i.e., using Javascript) add the event listener in Polymer?

换句话说,Polymer 库是否包含任何语法糖?

自定义元素.html
<template>
...
<iron-ajax id="ajax" last-response="{{ajax}}"></iron-ajax>
...
<template>
<script>
...
var that = this,
t = this.$.ajax;
t.addEventListener('response', function(e) {
console.log(that.ajax);
});
...
</script>

研究

The documentation here says :

You can also add an event listener to any element in the this.$ collection using the syntax nodeId.eventName.

但我认为这仅适用于使用 listeners 时Polymer 对象中的属性,如下所示:

listeners: {
'tap': 'regularTap',
'special.tap': 'specialTap'
},

最佳答案

什么也应该在 JS 中工作(只在 Dart 中尝试过)

 this.listen(this.$.ajax, 'last-response', 'lastResponseHandler');

还有this.unlisten()取消事件订阅。我假设如果你命令式地添加它,你也需要命令式地删除它以防止内存泄漏。

引用资料:

关于javascript - polymer 1.x : Imperatively adding event listener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34505363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com