Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Polymer 1.x:强制添加事件侦听器_Javascript_Polymer_Polymer 1.0 - Fatal编程技术网

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');