Polymer,访问自定义元素/命名空间问题
Polymer, accessing custom elements / namespace issues
我在开发 Polymer 应用程序时遇到了一些范围问题。本质上,我试图将自定义元素用作包含相关逻辑的类。
假设我有一个侦听器正在侦听自定义元素元素上的点击事件,我想访问另一个元素中的函数,在本例中是元素父元素,父元素:
<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 注册元素的成员?
我认为,如果您重新考虑您的方法,使其更符合 Polymer 的设计目标,您会过得更轻松。这可能有帮助 -
我在开发 Polymer 应用程序时遇到了一些范围问题。本质上,我试图将自定义元素用作包含相关逻辑的类。
假设我有一个侦听器正在侦听自定义元素元素上的点击事件,我想访问另一个元素中的函数,在本例中是元素父元素,父元素:
<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 注册元素的成员?
我认为,如果您重新考虑您的方法,使其更符合 Polymer 的设计目标,您会过得更轻松。这可能有帮助 -