web-component相关内容

真的有必要制作和使用新的自定义元素和Web组件(HTML标记)吗?

我目前正在学习前端Web开发以及Vanilla JavaScript,框架和库之间的区别(例如,React). 现在,我熟悉用于制作新的自定义HTML标签的Web组件.据我所知,React是出于相同的目的而制作的,但是当我访问Instagram网站(想到的第一个使用React的网站)并查看HTML代码时,实际上我没有找到任何自定义HTML元素,大多数元素由"div"标签制成. 如果像Instagr ..
发布时间:2020-11-10 23:37:27 前端开发

HTML模板和HTML导入-无法在Firefox中执行内部脚本

我正在使用webcomponents.js来填充Firefox对Web组件的支持. 通过HTML导入加载HTML模板时,一旦将基于模板的自定义元素添加到主页的DOM中,模板中的脚本就不会执行. 在Chrome中运行网站(支持本机Web组件)时,它会执行. 但是,当模板放置在主页本身中时,Firefox和Chrome都会执行此类脚本. 请参见Eric Bidelmann的示例 ..
发布时间:2020-11-08 04:36:04 前端开发

如何等待“自定义元素”引用被“升级”?

我引用了一个元素,该元素有时会升级为自定义元素。我如何等待它升级? 例如,假设 el 是参考。如果假设为此目的附加了诺言,则代码可能类似于 await el.upgradePromise //在升级后执行一些操作。 那当然不存在,但是描述了我想做什么。也许没有轮询就没有办法吗?如果使用轮询,我将轮询什么(假设我没有对应该升级到的类构造函数的引用)。也许我可以轮询 ..
发布时间:2020-10-25 19:31:51 前端开发

使用属性装饰器严格检查属性类型

有没有一种方法可以验证Typescript中装饰的属性的类型?我想要一个仅适用于 boolean 类属性的属性装饰器,而不适用于例如字符串(下面的示例)。 (注意:我不希望通过reflect-metadata进行运行时验证,而只是使用Typescript进行编译类型警告。) function booleanProperty(target ..
发布时间:2020-10-19 20:46:19 其他开发

将更多深度选择应用于:host CSS伪类

我正在制作一个自定义元素,一直在寻找一种方法来为与影子DOM相关的:host 伪类增加更多的特异性。根据我的理解,它用于选择实际的自定义元素本身。例如,如果我有一个名为 my-elem 的元素,该元素的影子DOM附加了:host 伪类,等效于全局样式表中 my-elem 下的类。 由此,我想尝试进一步指定选择器,以便可以在其状态下设置自定义元素的样式,例如::host:不是(.active) ..
发布时间:2020-10-12 19:39:39 前端开发

使用JavaScript动态应用CSS

采用JavaScript动态地将样式(即样式的值在运行时创建)应用于HTML元素的一种好方法是什么? 我正在寻找一种将JavaScript小部件(JS,CSS和标记)打包在单个组件(基本上是一个对象)中的方法。这个想法是让组件封装样式(因此用户拥有一个不错的API来修改样式,而不是直接修改CSS并间接应用更改的更紧密耦合的方法)。问题在于,单个API调用可能意味着更改了多个样式元素。 ..
发布时间:2020-10-12 05:03:50 前端开发

为什么宿主元素上的伪类必须在宿主函数内部?

我不明白为什么:focus-within 之类的伪类需要放在:host()之内在主机本身上操作时的功能括号。为什么不能是:host:focus-with-div ? 更奇怪的是,它可以在另一个:host()内的:host 上运行。 class MyElementFail扩展了HTMLElement {构造函数(... args){super(。 .args)this.attachShad ..
发布时间:2020-10-12 02:00:46 前端开发

如何处理Svelte的自定义元素交叉依赖关系以及在'CustomElementRegistry'上无法执行'define'

上下文:我们正在构建Svelte UI组件库作为自定义元素,以在多个新的和旧的应用程序中使用.所有组件都作为软件包存在于monorepo中,并且可以自行维护和交付. 目标:提供小型通用js程序包,这些程序包可以临时使用,而消费者的开销却最小. 情况: 存在一个简单的(原子)自定义元素,例如our-button. 存在另一个更复杂的自定义元素our-modal,该元素使用(导入) ..

Web组件-服务/非HTML组件

所以我来自Angular,想看看如何创建vanilla Web components. 现在,来自Angular的东西趋于划分:组件(充当HTML,CSS和一些javascript),然后是主要充当诸如收集数据和执行“硬后端"工作之类的“服务"的“服务"不应在组件中发生. 现在,尽管我知道Web组件和诸如Angular之类的框架并不相同,但是我想知道如何构造项目. 我在Web组件 ..
发布时间:2020-09-06 19:47:19 前端开发

在Angular 6中扩展本机HTML元素

我最近创建了一个本机Web组件,该组件在所有浏览器中均可正常运行.我将此Web组件移至Angular 6应用程序中,所有工作均按预期进行.然后,我尝试扩展本机HTML元素,除了将其引入到Angular 6应用程序中之外,它再次可以正常工作. 使用Mozilla的示例,我将尝试说明我的问题.使用以下尝试扩展本机'p'元素: // Create a class for the elemen ..
发布时间:2020-08-31 20:46:24 其他开发

Angular Web组件包外部自定义字体包

我使用Angular 8使用自定义元素创建了一个Web组件.该组件的一部分是显示一些自定义图标(已开发并打包为其他应用程序).我已经在组件的package.json文件中包含了自定义图标的包: "dependencies": { "@somelibrary/icons": "1.0.34" } 我已正确安装在节点模块中.在angular.json文件中,我包括以下样式的css文 ..
发布时间:2020-08-31 03:56:21 其他开发

Angular 5组件在选择器中是否需要`-`吗?

我正在审查此 Angular 5格式youtube教程,并且其中塞巴斯蒂安最初有一个名为app-form01的形式选择器,但他删除了app-部分. IIUC自定义元素应该具有-.这放松了吗? 解决方案 您可以使用标签,而无需-分隔单词,Angular不会知道您的单词已加入,这只是它的另一个标识符: -> 此外,您可以完全省略整个前缀 ..
发布时间:2020-08-31 03:37:14 前端开发

角度元素和模具的技术概念

Angular Elements 和 Stencil 的技术概念是否相似? Angular Elements 将是Angular 6中的一项新功能,您基本上可以将编写的Angular组件包装为Web组件.以我的理解,生成的自定义元素只是通向Angular的桥梁,因此我们仍然必须交付Angular. 另一方面, 模具声称是生成Web组件的编译器.因此,生成的自定义元素不仅是通往某些事物的桥 ..
发布时间:2020-08-31 02:41:29 其他开发