Polymer 1.x:势在必行添加事件监听器

时间:2015-12-29 06:03:41

标签: javascript polymer polymer-1.0

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

问题

  

是否有更短(更方便的语法)方式 强制 (即使用Javascript)在Polymer中添加事件监听器?

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

定制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>

研究

The documentation here says

  

您还可以使用语法this.$nodeId.eventName集合中的任何元素添加事件侦听器。

但我认为这仅适用于在Polymer对象中使用listeners属性,如:

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

1 个答案:

答案 0 :(得分:4)

JS中应该有什么用处(仅在Dart中尝试过)

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

还有this.unlisten()取消活动订阅。 我假设如果你必须添加它,你还需要删除它以防止内存泄漏。

参考文献: