在<app-route>应用之外使用聚合物元素?



我正在构建一个使用聚合物元素的网站(不是单页应用程序(。网站"app"不包含在<dom-module>中,但我仍然想利用<app-route>元素。

如何在不创建包含整个站点的自定义"app-element"的情况下做到这一点(我尝试将其全部放入<dom-module>但出现大量错误(?

如果我只是在<body>标签中使用<app-route><app-location>,我会得到一个

Uncaught TypeError: Cannot read property 'length' of undefined

即使我尝试以编程方式绑定路由/数据/尾部属性,而不是使用例如 route="{{route}}" .

从浏览器的角度来看,不在另一个 Polymer 托管元素上下文中的聚合物元素仅被视为自定义标记。它们中的每一个都被封装并具有自己独立的内部上下文,并且根据设计元素,除了发送事件之外,元素不会与外部上下文交互。

聚合物实现了介质模式,因此元素不会直接通信,即使它看起来如此,而是有各种观察者设置隐含。因此,为了使这种通信真正发生,您需要确保您的元素被包裹在某种聚合物管理的元素中 - 在您的情况下,这可能是 Kuba Šimonovský 指出的dom-bind辅助元素。

如果出于某种原因您不想使用该元素,您可以为您的元素实现自己的事件驱动调解器(不真正推荐(。

相关内容

  • 没有找到相关文章

最新更新