【问题标题】:Polymer, accessing custom elements / namespace issues聚合物,访问自定义元素/命名空间问题
【发布时间】:2015-01-02 22:38:30
【问题描述】:

我在开发 Polymer 应用程序时遇到了一些范围问题。本质上,我试图将自定义元素用作包含相关逻辑的类。

假设我有一个侦听器正在侦听 custom-elem 元素上的单击事件,并且我想访问另一个元素中的函数,在本例中是元素父级,父级:

<polymer-element name="custom-elem">
  <template>
  </template>
  <script>
     Polymer({
        attached: function(){
               this.addEventListener('mousedown', function(e) {
                    if (e.which === 1){
                      this.parentNode.parentNode.testFunc(e);
                      //or this.parentNode.querySelector.... etc
                    }
                    else if (e.which === 3){
                    }


                }.bind(this));
}
</script>
</polymer-element>

我发现我必须遍历 DOM 才能找到我正在寻找的元素,或者在新创建的元素中创建引用。我意识到我可以在包含上述逻辑的外部脚本中创建一个对象,但这似乎使定义自定义元素/Web 组件的目的无效。

是否可以在不导航 DOM 和创建外部脚本的情况下轻松访问 Polymer 注册元素的成员?

【问题讨论】:

  • 我正在考虑将元素创建引用添加到对象作为解决此问题的唯一方法。喜欢here

标签: javascript dom prototype polymer web-component


【解决方案1】:

我认为,如果您重新考虑您的方法,使其更符合 Polymer 的设计宗旨,那么您会过得更轻松。这可能会有所帮助 - https://stackoverflow.com/a/23963632

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    相关资源
    最近更新 更多