- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用 LitElement 构建自定义组件(非公开)。我们称之为 CompA 和 CompB。我们正在使用 CDN 发布包。
我们通过模块类型的 Script 标签在 HTML 中使用它。当每个组件是页面上的唯一组件时,它都能正常工作。当我们在同一页面上导入 CompA 和 CompB 时,我们遇到了问题。
未捕获的 DOMException:无法在“CustomElementRegistry”上执行“define”:名称“dom-module”已与此注册表一起使用
我知道问题的出现是因为在 CompA 和 CompB 之间使用了类似的 UI 组件集。可能是纸张输入,纸张按钮等。
有没有办法通过在使用 LitElement 构建组件时更好地控制命名 CustomElementRegistry 和名称而不是“dom-module”来避免此错误。
更新:我想我问的时候不够清楚,所以我更新了这个问题。
最佳答案
这个问题是组件库将组件注册留给消费应用程序的一个很好的理由
在我的组件库中,我提供了一个名为 registerComponents
的简单函数
function dashify(camel) {
return camel.replace(/([a-zA-Z])(?=[A-Z])/g, '$1-').toLowerCase()
}
export function registerComponents(components) {
for (const componentName of Object.keys(components))
customElements.define(dashify(componentName), components[componentName])
}
ShopperCart
变成
shopper-cart
)
register-all.js
的便利模块。 ,它执行所有注册类似于消费者如果他们手动执行此操作
import {ShopperCart} from "./components/shopper-cart.js"
import {ShopperButton} from "./components/shopper-button.js"
import {ShopperProduct} from "./components/shopper-product.js"
import {ShopperCollection} from "./components/shopper-collection.js"
import {registerComponents} from "./toolbox/register-components.js"
registerComponents({
ShopperCart,
ShopperCollection,
ShopperButton,
ShopperProduct
})
registerComponents({
MyCart: ShopperCart
})
register-all.js
坚持使用标准名称
import "shopper/dist/register-all.js"
customElements.define
是一种糟糕的模式。在每个组件模块内调用,因为我们希望让消费者有一定的灵活性
registerComponents
我建议,但重要的是消费者可以选择如何处理注册
关于polymer - 有没有办法控制 CustomElementRegistry 和 "dom-module"以外的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874321/
我已经坚持了好几天了……很抱歉遇到这样的问题,但是我只是F#本身的初学者。由于关于类型提供程序的讨论很多,所以我决定建立一个类型提供程序并撰写一篇有关它的论文。当我开始时,我不知道什么是类型提供程序。
我正在开发LAN项目唤醒功能,但是我想控制局域网中计算机是否打开。但是我不想使用ICMP或WMI(我的网络上有DC)。那么,对于此问题,是否还有其他选择,例如“套接字连接”,请检查特定端口是否正在使用
我们有一个旧的VB6应用程序,该应用程序使用Crystal Reports XI生成打印报告。我们已经通过经验发现,如果Crystal Reports打印引擎选择了错误版本的 usp10.dll (W
我正在尝试获取有效的 Android 权限列表。我知道 http://developer.android.com/reference/android/Manifest.permission.html
嗨,我是 nginx 的新手,我试图在我的服务器(运行 Ubuntu 4)上设置它,它已经运行了 apache。 所以在我 apt-get install 它之后,我尝试启动 nginx。然后我收到这
如何在VB 6中检查对象的类型-除了'TypeName'之外,是否还有其他方法,因为无法通过'TypeName'进行检查,我希望使用类似QuichWatch窗口的方法。 最佳答案 对于对象变量,请使用
我的 JSP 应用程序中有一个错误。发布后我的 session 被清除: YAHOO.util.Connect.asyncRequest('POST', Url, callback, post
我是一名优秀的程序员,十分优秀!