我有一个简单的按钮,我想在按下时触发某些东西。我给按钮id
并为id.tap
创建了一个监听器。这样可以正常工作,但当我将按钮放在template[is=dom-if]
内时,它会停止工作。这是否意味着像这样工作?我该如何解决这个问题?
答案 0 :(得分:4)
创建元素时,dom-if
中的元素尚不存在,因此无法使用this.$
访问它们。要么为元素提供on-tap
属性,要么使用Polymer.dom(this.root).querySelector
来查找元素。
答案 1 :(得分:3)
仅供参考,文件建议不要自由使用dom-if
。
由于隐藏和显示元素通常要快得多,而不是销毁和重新创建它们,条件模板只有在被标记的元素相对较重并且条件可能很少(或从不)为真时才能节省初始创建成本在给定的用法中。否则,自由使用条件模板实际上可能会增加显着的运行时性能开销。
使用hidden$=condition
可能是最佳解决方案。