Javascript 在涉及插入点的嵌套范围内搜索标记

Javascript 在涉及插入点的嵌套范围内搜索标记,javascript,polymer,web-component,Javascript,Polymer,Web Component,背景: 我一直在不同的上下文中进行关于web组件组合的测试。详情请参阅。在本例中,我在测试中包括搜索空间中的插入点 问题: 假设我们有几个试图查找的元素实例。这些的定位点将是元素。搜索过程旨在遵循编译器理论中典型的最近嵌套范围规则。也就是说,每个标记都会在每个作用域中查找,如果找到它,则会返回它,否则它会爬升到父作用域,搜索将重复到根,无论是在模板中还是在文档中 让我们考虑下面的伪代码片段。在我上一篇文章中,斯科特·迈尔斯(Scott Miles)给出了一个建议,启发了我在类似背景下解决问题的方

背景:

我一直在不同的上下文中进行关于web组件组合的测试。详情请参阅。在本例中,我在测试中包括搜索空间中的插入点

问题:

假设我们有几个试图查找的
元素实例。这些
的定位点将是
元素。搜索过程旨在遵循编译器理论中典型的最近嵌套范围规则。也就是说,每个
标记都会在每个作用域中查找
,如果找到它,则会返回它,否则它会爬升到父作用域,搜索将重复到根,无论是在模板中还是在文档中

让我们考虑下面的伪代码片段。在我上一篇文章中,斯科特·迈尔斯(Scott Miles)给出了一个建议,启发了我在类似背景下解决问题的方法。这个问题本质上与这个问题相同,但是没有使用插入点来定位(A),而是包含了这个标签。在这种情况下,

的行为与预期一样。标记检索到带有
id='2'
标记。然而,在这种情况下,使用插入点,在(A)中插入的
得到的元素返回带有
id='1'
标记。似乎插入点的搜索过程是在
所在的位置执行的,而不是在插入点的模板内执行的

<x-target id=”1”>
<x-wrapper>
  <x-searcher>
</x-wrapper>

<polymer-element name=”x-wrapper”>
  <template>
    <x-target id=”2”>
    <content select=”x-searcher”></content> <!-- (A) -->
  </template>
</polymer-element>

<polymer-element name=”x-searcher”>
  <template>
     ...
  </template>
  <script>
    Polymer ('wc-searcher', {
       ...
       search: function () {
         a while-based search suggested by Scott Miles in the referred post
       }
    });
  </script>
</polymer-element

...
聚合物(“wc-searcher”{
...
搜索:函数(){
Scott Miles在推荐帖子中建议的基于时间的搜索
}
});

我想试着为这个问题写一个方法,就像我在最后一个问题上做的那样,但我还没有找到时间。至少这里有一个提示:这个API可能会帮助您。非常感谢您的努力。我真的无法解决这个问题。如果有帮助的话,我尝试编写的代码是一种通用搜索方法,用于在嵌套范围链中查找上部组件,无论是插入它们的机制(内容标记等)还是容器范围的性质(模板或主机页)。