2014-09-13 79 views
0

聚合物相当新 - 我有一个问题,我似乎无法弄清楚。我有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

你的节点位于shadow DOM(模板,如果你愿意),所以你应该在shadowRoot做一个查询。 像这样:

this.shadowRoot.querySelector('.className')

如果你只是想分配一个click处理程序,你可能只是这么说,在你的代码作为on-click - 属性 - (在“声明事件映射”检查)。

例如:

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

然后:

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

谢谢!我根本不知道shadowRoot。完美的作品!非常感谢:-)是的,onClick主要是为了测试。非常感谢! – shanling 2014-09-13 18:20:15

+0

不客气。如果我建议先阅读一些有关聚合物的内容,不妨介绍一下googledevelopers渠道中的一些视频,以及在聚合物网站上查看一些非常简洁的示例。这是一个建议(和最佳)的途径来学习它。如果您使用IRC,请通过#polymer @ [email protected]来访问。 Google工程师在那里:) – nullpotent 2014-09-13 18:24:29

+0

感谢您的资源!我一直在阅读Polymer网站,但是我对JavaScript很陌生,所以很难理解它。我会检查IRC频道和YT vids。谢谢 :-) – shanling 2014-09-13 19:48:06