我正在构建一个应该响应鼠标/触摸事件的Polymer Web组件。我想绑定on-tap="{{$.myElement.show}}"
show
,其中show: function(e) {
// Do something with the event here
}
是元素中的函数:
attributes="event"
无论如何都要在Polymer中定义公共API。我目前要做的路线是在元素上有on-tap="{{updateEvent}}"
,然后父元素有updateEvent: function(e) {
this.$.myElement.event = e;
}
:
eventChanged: function() {
show(this.event);
}
该元素只有:
show
这看起来似乎是什么样的(认为这是一个弥补的词)。我可以以某种方式将{{1}}函数添加到元素原型中吗?
答案 0 :(得分:3)
如果show()
是您元素的方法,请使用on-tap="{{show}}"
。 show()
是元素公共APi的一部分。
但看起来你想要的是调用另一个元素的方法?这最近出现在拉取请求中:https://github.com/Polymer/polymer-dev/pull/30
在this.$.myElement.event = e;
中设置eventChanged()
并使用myElement
的工作原理。您也可以直接调用元素的方法:
updateEvent: function(e) {
this.$.myElement.show();
}
以下是其他一些方法:http://jsbin.com/guyiritu/1/edit