Polymer 聚合:侦听在灯光DOM的子元素上触发的事件

Polymer 聚合:侦听在灯光DOM的子元素上触发的事件,polymer,polymer-1.0,Polymer,Polymer 1.0,我有一个容器元素,它的行为是\u checkSomething,在轻触任何子项元素时,它都需要发生 <container-element> <template is="dom-repeat" items="[[ items ]]"> <!-- Doesn't work; scope cannot access _checkSomething within shadow DOM: --> <item-eleme

我有一个
容器元素
,它的行为是
\u checkSomething
,在轻触任何子
项元素
时,它都需要发生

<container-element>
    <template is="dom-repeat" items="[[ items ]]">

        <!-- Doesn't work; scope cannot access _checkSomething within shadow DOM: -->  
        <item-element on-down="_checkSomething"></item-element>

    </template>
</container-element>

<dom-module id="container-element">
    <template>

        <content select="item-element"></content>

    </template>
    <script>
        Polymer({
            is: "container-element",
            listeners: {

                // This listener is also impossible, since it's
                // meant for a unique id, whereas I want to target
                // every child item-element:

                'item-element.down': '_checkSomething'
            },

            _checkSomething: function(){
                console.log('checking...');
            }
        });
    </script>
</dom-module>

聚合物({
是:“容器元素”,
听众:{
//这个监听器也是不可能的,因为它是
//这意味着一个唯一的id,而我想目标
//每个子项元素:
'item element.down':'\u checkSomething'
},
_checkSomething:function(){
log('checking…');
}
});
通常要完成这一点,我不会从light dom中插入
dom repeat
项元素
;我会把它们放在
容器元素
的模板中,在那里我可以为每个项目设置
。在这种情况下,我认为我没有奢侈<代码>容器元素实际上是拖放容器的简化界面,其中包含一组自定义逻辑,需要在点击时进行检查,我想对实现它的人隐藏这些逻辑

在我看来,我唯一的前进方向是让
item元素
发出一个特殊事件,由
container元素
监听。但是,我不确定
容器元素
是否能够听到来自其轻型DOM的事件,我们是否会遇到同样的问题


关于如何使用此模板设置触发
\u检查某些东西
,您有什么想法吗?

我认为您的工作很复杂,因为使用
,而在它内部使用
。首先,尝试在不使用
标记的情况下处理事件,并在container-element的dom中添加包含项的模板。是的,Dmitry-这是我通常会做的事情,事实上,我现在不得不切换到这种方式。我提出这个问题的原因是:因为真实的元素比这个简化的示例要复杂得多,所以我想使用
作为一个容器来隐藏拖放“魔力”,它会在内容的light DOM中响应事件而发生。这将允许用户开发人员忘记复杂的dnd逻辑。唉,现在我认为这是不可能的。。。