问题标签 [custom-element]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1517 浏览

javascript - Why can I call function which is in a shadow dom?

I created a custom element called "memory-box" like the below code.
Please pay attention to the function "logthis" which is in "memory-box-template".

memory-box.html

Now, I uses the custom element "memory-box" like the below code.

index.html

As you can see, I putted a script in the index.html and called the function "logthis" just because I was curious. And no error occurred.
Why?
The function "logthis" is in each shadow doms. It's supposed not able to be called outside the shadow dom, I think.

0 投票
8 回答
20165 浏览

javascript - 如何获取已注册的自定义元素列表

我正在尝试检测是否注册了具有特定名称的自定义元素。有没有办法进行这样的检查?

或者有没有办法获取已注册的自定义元素列表?

我有document.registerElement,但还有什么?它是单向API吗?

0 投票
1 回答
64 浏览

dart - 扩展模板元素

没有使用 Polymer,我正在尝试扩展TemplateElement

然后注册

但是当我将以下内容添加到我的 html 测试页面时

在 Chromium 中它输出

这意味着扩展的新元素TemplateElement是活动的并且不充当模板,知道为什么吗?

E:这不是重复我说我没有使用聚合物,标签中没有聚合物,特别是关于 html5 的行为 TemplateElement

0 投票
1 回答
266 浏览

polymer - 如何在关键帧的聚合物中使用 /deep/

我有 2 个聚合物成分,一个父母和一个孩子。因为我知道我将不得不创建更多的孩子,所以我想将我的 css 代码移动到父母中,这样每个孩子都可以使用它。我说移动我的代码,直到现在使用该代码一切都很好。

旧代码

新代码

似乎它不适用于动画,或者我必须为此做额外的工作......有什么想法吗?其他解决方案?干杯!

更新

我在这里在 bitbucket 上托管了一些代码

在那次提交中,我创建了一个风格为 is 的孩子。如果您加载页面,您将看到动画

在这一点上,我将孩子 el 放在他的父母中,并在父母中移动样式代码。孩子表现得像他没有风格

和最后一个除动画外的所有风格作品

克隆 repo 并使用 'pub get' 和 'pub serve' 来查看动画

0 投票
1 回答
469 浏览

javascript - 如何扩展现有的自定义元素?

我有一个自定义元素,称为x-foo. 我想扩展它,并创建一个x-foo-extended元素,但它不起作用。我收到此错误:

未捕获的 NotSupportedError:无法在“文档”上执行“registerElement”:类型的注册失败'x-foo-extended'。'extends' 中指定的标签名称是自定义元素名称。改为使用继承。

0 投票
1 回答
933 浏览

javascript - 自定义拖放 HTML5

我正在尝试使用拖放来重新排序列表中的元素(纯 javascript)。我想在拖动操作期间对“幽灵元素”进行样式化。因为我读到没有办法做到这一点,所以我正在创建重复元素(按我想要的样式)定位在拖动操作期间原始元素应该位于的位置,并且它的位置在 ondrag 事件中更新。

问题是,由于这个重复的元素总是正好在光标下,所以不可能在其他元素上捕获 dragover 或 dragenter 事件。无论 DOM 中的哪个“重复”元素链接它总是会阻塞 ondragover。如果我移动重复元素使其不在光标下它可以工作,但这会破坏无缝重复元素的目的。

有没有办法忽略这个重复的元素,所以它下面的元素会得到 ondragover 事件?通常,事件只是向重复元素链接的父级冒泡。

0 投票
1 回答
137 浏览

javascript - 仅在具有布局属性的元素内应用于自定义聚合物元素的样式

我在主体元素中有一个定制的聚合物元素。

如果我width : 100px向自定义元素添加样式,则不会应用它们。

但是一旦我添加vertical layout到 body 元素,规则就会被应用。

有人可以解释为什么会发生这种情况,是否有解决方法,或者我错过了什么?

谢谢你。

0 投票
1 回答
198 浏览

pipeline - 为什么自定义元素无法链接到交错而链接到文件接收器工作正常?

我有自己的自定义元素,我们称之为 MyElement。它有请求接收垫,有时还有源垫。创建源板时,MyElement 会发出一个信号,用户可以截获该信号。在使用此信号注册的回调中,用户可以将新的源焊盘与其他焊盘链接。

问题是,当我尝试将其源垫直接或通过标识元素链接到文件接收器时,MyElement 工作正常。但是,当我尝试将源焊盘链接到交错元素时,管道会失败。

当我将 MyElement 的源连接到 'dump' 属性设置为 true 的标识元素时,也会发生类似的错误。

我的元素/管道缺少什么,导致带有交错的管道失败?

0 投票
1 回答
2165 浏览

html - Web 组件:如何监听 Shadow DOM 加载事件?

我想在自定义元素中加载 Shadow DOM 时执行 JavaScript 代码。我尝试了以下代码,但没有成功

x-component.html:

然后我在另一个 html 中使用它,如下所示 - index.html:

doc 变量用于我使用 Polymer webcomponents.js polyfill 并且 polyfill 需要它。

监听 Shadow DOM 的加载事件的正确语法是什么?

0 投票
1 回答
353 浏览

javascript - Polymer:创建“通用”自定义元素

我正在尝试构建一个具有属性的元素,该属性将指定哪个元素应该代替该元素。

我在 index.html 中有一个 3d 卡片翻转元素,用于此目的,定义为:

general-element.html 在这里定义:

警告:输出是一个空白,控制台中有一个错误,说 卡片翻转上的属性是在 Polymer 升级元素之前绑定的数据。这可能会导致不正确的绑定类型。

这可以通过任何方式实现吗?