Javascript Polymer 1.x:强制添加事件侦听器
我已经为我的Javascript Polymer 1.x:强制添加事件侦听器,javascript,polymer,polymer-1.0,Javascript,Polymer,Polymer 1.0,我已经为我的调用向自定义元素添加了一个事件侦听器 问题: 是否有一种更短(更方便的语法)的方法来强制添加事件监听器(即使用Javascript) 换句话说,Polymer库是否包含任何语法糖化 custom-element.html <template> ... <iron-ajax id="ajax" last-response="{{ajax}}"></iron-ajax> ... <template> <script>
调用向自定义元素添加了一个事件侦听器
问题:
是否有一种更短(更方便的语法)的方法来强制添加事件监听器(即使用Javascript)
换句话说,Polymer库是否包含任何语法糖化
custom-element.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>
什么在JS中也适用(仅在Dart中试用) 还有
this.unlisten()
来取消事件订阅。
我假设如果您强制添加它,您还需要强制删除它以防止内存泄漏
参考资料:
附件中使用listen
,在分离中使用unlisten
。(如果您只侦听来自您自己的本地DOM的事件,而不是文档级事件,则不确定这是否有必要,但这可能不是一个坏主意。)使用元素实例作为this
值调用回调,因此,您不需要在原始示例中使用额外的变量。旁注:在侦听器中侦听a.b
似乎是一个错误。
listeners: {
'tap': 'regularTap',
'special.tap': 'specialTap'
},
this.listen(this.$.ajax, 'last-response', 'lastResponseHandler');