如何在polymer中的内容元素上设置点击事件侦听器?

如何在polymer中的内容元素上设置点击事件侦听器?,polymer,Polymer,我使用的是polymer 0.8,我知道它有一个新的API,但是我在任何地方都找不到这个问题的参考。我正在努力做到这一点: <center-focusable> <template is="x-autobind"> <span on-click="setFocus">test?</span> </template> </center-focusable> 测验 哪些错误与以下内容有关:

我使用的是polymer 0.8,我知道它有一个新的API,但是我在任何地方都找不到这个问题的参考。我正在努力做到这一点:

<center-focusable>
    <template is="x-autobind">
        <span on-click="setFocus">test?</span>
    </template>
</center-focusable>

测验
哪些错误与以下内容有关:

[span].[click]:事件处理程序[setFocus]在作用域()中为空

我的元素定义如下:

<dom-module id="center-focusable">
    <template>
        <span on-click="setFocus">I work</span>
        <content></content>
    </template>
</dom-module>

<script>
    Polymer({
        is: "center-focusable",
        setFocus: function () {
            console.log("test");
        }
    });
</script>

我工作
聚合物({
是:“中心可聚焦”,
setFocus:函数(){
控制台日志(“测试”);
}
});

这是不可能的吗?

我最后做的是定义另一个自定义元素,它将触发一个自定义事件供我捕获

<dom-module id="focusable-element">
  <content></content>
</dom-module>

<script>
  Polymer({
    is: "focusable-element",
    listeners: {
      'click': 'setFocus'
    },
    setFocus: function () {
      this.fire("center-focusable:center");
    }
  });
</script>

聚合物({
是:“可聚焦元素”,
听众:{
“单击”:“设置焦点”
},
setFocus:函数(){
此。火(“中心聚焦:中心”);
}
});
然后我会抓住它:

<script>
  Polymer({
    is: "center-focusable",
    listeners: {
      'center-focusable:center': 'setFocus'
    },
    setFocus: function (e) {
      e.stopPropagation();
      console.log("test");
    }
  });
</script>

聚合物({
是:“中心可聚焦”,
听众:{
“中心可聚焦:中心”:“设置焦点”
},
设置焦点:函数(e){
e、 停止传播();
控制台日志(“测试”);
}
});
一起:

<center-focusable>
    <focusable-element>
       This works.
    </focusable-element>
</center-focusable>

这很有效。
但是,用这种方式处理似乎是不必要的。

是常规HTML元素,而不是聚合元素。 单击是一种聚合语法。 我认为您应该使用一个常规的html事件:onclick(无破折号)。
例如:
我工作

我不知道8.0,但是函数调用不需要把手吗?单击=“{setFocus}}”@jimidough10,API已更改:很高兴知道。谢谢你的链接,我一直在想在哪里可以找到这个。