语境:
我正在对不同上下文中的 Web 组件组合进行测试。特别是我试图通过在所涉及组件的DOM
/Shadow DOM
中的搜索过程从另一个 Web 组件访问其中一个来关联多个 Web 组件。
问题:
假设我们有一个名为x-foo
requires to access another的 web 组件x-randgen
。后一个组件公开了前者使用的业务方法。为了避免两个组件之间的紧密耦合通信,我想使用发现机制x-foo
来x-randgen
通过跨模型DOM
的搜索过程进行访问。Shadow DOM
特别是,我确定了两种可能的情况。两者都x-foo
和x-randgen
实例化都在全局上下文(index.html)中,或者它们都出现在另一个模板中,比如x-bar
. 问题是搜索过程在每种情况下都应该以不同的方式实现。下面我展示了一个伪代码,我的方法从本质上总结了我的问题。(全局示例可以在这里找到:http://jsbin.com/qokif/1/ )
Polymer('x-foo', {
...
getRandGen: function () {
if (<<x-foo & x-randgen are in the global context>>)
return document.querySelector('x-randgen');
else if (<<x-foo & x-randgen are in a template>>)
return <<the x-randgen tag within the template>>;
}
});
问题:
如果有人可以根据 Polymer 技术以适当的术语重新编写上面的代码段,我将不胜感激。