web-component 相关问题

Web组件是使用本机代码或第三方库创建的可重用客户端元素。

可调整大小的画布,Web 组件可无限增长

我正在尝试使用 Web 组件创建一个可调整大小的 ,但是,出于某种原因,以我正在做的方式(使用 ResizeObserver),初始高度在外部 &l 上从零增长到无限...

回答 1 投票 0

Web 组件:扩展原生元素

我正在尝试创建一个扩展 div 元素的 Web 组件,我发现了另一个关于如何扩展本机元素(本例中为按钮)的 Stack Overflow 问题。然而我却做不到

回答 1 投票 0

Web 组件 attributeChangedCallback 未针对 DISABLED 属性调用

我的自定义元素/Web 组件如何检测 DISABLED 属性更改? 静态获取观察属性(){ return ['选中', '禁用', '值']; } 我的 attributeChangedCallback() 不是

回答 1 投票 0

如何接受 Guid 作为 Blazor Server 中的输入类型

我有一个应用程序,我试图在其中创建以下类型的记录: 公共类混淆贸易数据 { 公共 int Id { 得到;放; } [必需的] 公共字符串提供商名称{获取;放; } [

回答 2 投票 0

从 React 组件创建纯 Web 组件

我正在尝试从 React 组件构建 Web 组件,一切正常,但有两个问题我正在尝试解决: 有没有办法将此类 Web 组件转换为纯 Web 组件...

回答 4 投票 0

Web 组件继承父样式,即使使用 all: 初始设置

MVCE 您可以执行以下代码片段: const a = document.createElement("div"); // 在左上角显示大红色矩形 a.style.position = "绝对"; a.style.left = "10px"; a.style.top = "1...

回答 2 投票 0

如何使用适当的特异性来设计 :root 而不 !important

在自定义元素内,因为边框颜色是在父页面上设置的,所以如果不求助于 !important 就无法使边框颜色起作用 :主机([玩家=“O”]) { 颜色:var(--color2); 乙...

回答 3 投票 0

如何仅更改一个主体实例的主体颜色

我有一个 Angular 项目,在我的 app.component.html 中我有这样的组件结构: 我有一个 Angular 项目,在我的 app.component.html 中我有这样的组件结构: <nav class="left-menu-plus-body"> <app-sidebar></app-sidebar> <header class="header-plus-body"> <app-header></app-header> <div class="main-container"> <router-outlet></router-outlet> </div> </header> </nav> <app-footer></app-footer> 另外,我有一个 body CSS 属性: body { background: linear-gradient(90.00deg, rgb(146, 133, 255), rgb(158, 192, 252) 100%); } 与我的所有页面一样,都有一个正文标签,我为整个网站和正文设置了背景颜色: 我需要整个页面只有一个渐变,而不是加倍 您可以使用类来定位特定元素。 <body class="mainBody"> mainBody { background: linear-gradient(90.00deg, rgb(146, 133, 255), rgb(158, 192, 252) 100%); } 尽管无论如何您都不应该对多个子元素使用 body 标签。应该有一个主体类作为 html 标签的子级。

回答 1 投票 0

允许 WebComponent Shadow-Root 可抓取

我有一个用例,我正在尝试创建一个 Angular WebComponent 库,并且我希望它可以在屏幕上抓取,以便可以使用 PrincePDF 进行打印。 问题是当我们使用实际的

回答 1 投票 0

HTMLInputElement maxLength 属性具有无效的默认值

我们正在开发一个网络组件库。 为了使其在 Storybook 中正常工作,每个受支持的属性都需要有一个默认值,对于 HTMLInputElement 的 maxLength(与 minLength 相同)

回答 1 投票 0

Lit-Element 中组件加载后如何执行脚本

我尝试在组件加载后向输入的电话号码添加前缀,但出现错误。在普通的 Web 组件中,connectedCallback() 方法就足够了,但在这里却不够......

回答 1 投票 0

如何从 CDN 动态加载 polyfil,而不是将它们捆绑到我的代码库中?

我需要加载我的应用程序的polyfill才能在旧版浏览器上运行。我不想将 Polyfill 捆绑到我的应用程序中,而是从我的入口文件中的 CDN 下载它们并等待它们出现...

回答 1 投票 0

如何简单地使用 esbuild 从 Angular 中的块中删除哈希

使用 esbuild 将 Angular 更新到版本 17 后,块名称中将添加一个哈希值。 问题是,如果你想对 Angular 元素使用延迟加载,那么在开发模式下,哈希值将是

回答 1 投票 0

通过createElement创建WebComponent

我在使用 createElement 创建 Web 组件时遇到问题。我收到此错误: 未捕获的 DOMException:无法构造“CustomElement”:结果不得有子级 在appendTodo...

回答 2 投票 0

在弹出窗口中使用 Web 组件在 Firefox 中不起作用

TLDR 在弹出窗口中添加 Web 组件在 Chrome / Edge 中按预期工作。但在 Firefox 中,在我将 Web 组件添加到 dom 之前它可以正常运行,但之后它又恢复为

回答 1 投票 0

使用 WebComponent 定义常量的最佳方法是什么?

更新:我添加了有关如何使用常量来回答问题的更多详细信息。我观察到的实际问题是常量被添加到全局对象中,所以我担心

回答 2 投票 0

如何使用 Fast Web Components 设置浅色/深色主题?

我正在使用https://www.fast.design/docs/components/checkbox 在一个简单的 HTML 页面中,但默认主题似乎是深色的......所以“白色背景”上的“白色文本”:它......

回答 1 投票 0

将内容放置在自定义元素内作为组件输入的首选方法?

我正在尝试开发一个语法突出显示的 Web 组件,它将把内容放入其中并语法突出显示它。所以像这样: 我正在尝试开发一个语法突出显示的 Web 组件,它将把内容放入其中并语法突出显示它。所以像这样: <fs-highlight data-line-numbers="true" data-language="html"> any content here .... </fs-highlight> 这是一个原型实现,它获取并突出显示元素内的内容,如下所示: this._code = hljs.highlight(this.innerHTML.replace(/^\s+/g, ''), { language: this.language, }).value; 我想知道使用 this.innerHTML 来抓取内容是否正确/合适? 该实现未使用 slot,因此内容不会在元素内呈现。 但是在这个demo中,vite无法编译该元素。不过,我想知道这是否只是由于 Stackblitz vite 编译的工作原理所致......(我在元素中放置了大量标记来测试它......)? 也许通过本地编译和发布,这种情况就会消失......想法? 发生这种情况是因为您的样式位于 Web 组件之外! 要修复它,只需将 @highlight.js 的脚本放入您的组件即可! render() { if (this.language) { return html` <link rel="stylesheet" href="https://unpkg.com/@highlightjs/[email protected]/styles/default.min.css" /> <h1>Hello</h1> <pre><code class="language-${this.language}">${unsafeHTML( this._code )}</code></pre> `; } return html` <link rel="stylesheet" href="https://unpkg.com/@highlightjs/[email protected]/styles/default.min.css" /> <h1>Hello</h1> <pre><code>(${unsafeHTML(this._code)})</code></pre> `; }

回答 1 投票 0

看起来很奇怪<vaadin-integer-field>&<vaadin-button>

我以前曾在不同的项目中多次使用过 vaadin WebComponents,但现在我陷入困境,似乎无法弄清楚。请指教。 我正在尝试使用 进行测试 我以前曾在不同的项目中多次使用过 vaadin WebComponents,但现在我陷入困境,似乎无法弄清楚。请指教。 出于测试目的,我尝试使用 <vaadin-integer-field> 和 <vaadin-button> 这就是它们的样子。完全关闭,为什么!? 实际导入的组件: import { LitElement, html, css } from 'lit'; import { Router } from '@vaadin/router'; class BoxkeyPwaClient extends LitElement { static properties = { header: { type: String }, } static styles = css` :host { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; font-size: calc(10px + 2vmin); color: #1a2b42; max-width: 960px; margin: 0 auto; text-align: center; background-color: var(--boxkey-pwa-client-background-color); } main { flex-grow: 1; } `; constructor() { super(); } firstUpdated() { this.initiateRouter(); } initiateRouter() { const routerOutletElement = this.renderRoot.getElementById('router-outlet') this.router = new Router(routerOutletElement) this.router.setRoutes([ { path: '/', component: 'loading-page', action: async () => { await import('./pages/loading-page') }, animate: false }, { path: '/map', component: 'map-page', action: async () => { await import('./pages/map-page') }, animate: false }, { path: '/test', component: 'test-page', action: async () => { await import('./pages/test-page') }, animate: false } ]); } render() { return html` <div id="router-outlet"></div> `; } } customElements.define('boxkey-pwa-client', BoxkeyPwaClient); 通过路由器插座显示上述组件的组件。 import { LitElement, html, css } from 'lit'; import '@vaadin/integer-field'; class TestPage extends LitElement { static properties = { counter: { type: String }, } static styles = css` :host { } `; constructor() { super(); this.counter = 0; } render() { return html` <vaadin-integer-field value="2" step-buttons-visible min="0" max="9"></vaadin-integer-field> `; } } customElements.define('test-page', TestPage); 应该看起来像这样。 Lit 版本之间似乎存在冲突。 @open-wc 生成器默认安装 Lit 2,而最新的 Vaadin 使用 Lit 3: 更新 package.json 中的 lit 版本解决了我的问题: - "lit": "^2.0.2" + "lit": "^3.1.3"

回答 1 投票 0

是否有 HTMX 触发事件等待自定义元素定义?

我正在使用使用自定义元素的鞋带组件库。我想在定义自定义元素时触发 htmx AJAX 请求。尝试使用加载事件,当 cu...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.