如何在Polymer中的自动绑定模板中添加属性的侦听器?

时间:2015-07-28 12:58:15

标签: data-binding polymer polymer-1.0

我正在使用Polymer编写一个webapp,我使用自动绑定模板和一个属性进行分页:

<template is="dom-bind">
  <iron-pages selected="{{page}}" attr-for-selected="id">
    <section id="login">
       ...
    </section>
    <section id="main">
       ...
    </section>
  </iron-pages>
</template>

但是如何实现page更改时触发的侦听器功能?在自定义元素中,我使用声明的属性:

Polymer({

  ...

  properties: {
    page: {
      type: String,
      notify: true
    }
  },

  pageChanged: function() {
    // My listener function
  }
});

所以我尝试将propertiespageChanged设置为模板元素:

var template = document.querySelector('template');
template.properties = { ... };
template.pageChanged = function() { ... };

properties属性已被保留。

你知道怎么做吗?提前谢谢,

菲利克斯

2 个答案:

答案 0 :(得分:1)

您可以使用property observer

Polymer({

  properties: {
    page: {
      type: String,
      notify: true
      observer: 'pageChanged'
    }
  },

  pageChanged: function(newPage,oldPage) {
    // My listener function
  }
});

答案 1 :(得分:0)

您可以在observe:'functionName'属性中添加和page实际更改的内容 functionName:function(){ fire('custom-event'); } 这就是我想要实现的目标。