聚合物存在问题,无法识别我在导入文件中创建的类

时间:2014-09-13 17:55:57

标签: javascript polymer

聚合物相当新 - 我遇到了一个我似乎无法弄清楚的问题。我在我导入的自定义聚合物元素的文件末尾有一些javascript代码:

Polymer('metafaq-name', {

     ready: function (){
            var subby = document.querySelector('.classname');
            console.log(subby);

            subby.onclick = function () {
            console.log('clicky');
            }
          }
      });

尽管我对javascript相对较新,但我很确定没有(主要)错误,因为它适用于主html文件中的任何类,而不是我创建的自定义聚合物元素html文件中的类它

有什么想法吗?我似乎无法识别文件中的任何类或ID。我的想法是,自定义元素实际上是如何导入的可能存在问题,例如它可能在元素的其余部分之前添加脚本,但我想通过添加“准备好”它可以解决这个问题,所以现在我没有想法。

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

您的节点位于shadow DOM(如果您愿意,可以在模板中),因此您应该对shadowRoot进行查询。 像这样:

this.shadowRoot.querySelector('.className')

如果您只想分配点击处理程序,则可以在标记中将其作为on-click - (检查声明事件映射' ) ) - 属性。

例如:

<button on-click="{{hiThere}}">

然后:

Polymer('your-element)', {
  hiThere: function() { 
    alert('hi') 
  }
})