使用监听器在dom-if中使用tap

时间:2015-06-12 08:24:02

标签: polymer polymer-1.0

我有一个简单的按钮,我想在按下时触发某些东西。我给按钮id并为id.tap创建了一个监听器。这样可以正常工作,但当我将按钮放在template[is=dom-if]内时,它会停止工作。这是否意味着像这样工作?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

创建元素时,dom-if中的元素尚不存在,因此无法使用this.$访问它们。要么为元素提供on-tap属性,要么使用Polymer.dom(this.root).querySelector来查找元素。

答案 1 :(得分:3)

仅供参考,文件建议不要自由使用dom-if

  

由于隐藏和显示元素通常要快得多,而不是销毁和重新创建它们,条件模板只有在被标记的元素相对较重并且条件可能很少(或从不)为真时才能节省初始创建成本在给定的用法中。否则,自由使用条件模板实际上可能会增加显着的运行时性能开销。

使用hidden$=condition可能是最佳解决方案。