问题标签 [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 回答
133 浏览

html - 自定义元素名称可以包含 Unicode 吗?

令人惊讶的是在谷歌上找不到这个......

自定义元素的名称(类似于 W3C 规范的 Web 组件集)可以包含 unicode 吗?

这个HTML 5 自定义元素名称?表示自定义元素名称必须以 ASCII 字符开头,包含连字符和任何其他字符。这是否意味着unicode?

0 投票
3 回答
258 浏览

javascript - 如何在该属性的已更改事件处理程序中忽略 Polymer 元素上默认属性的初始覆盖?

似乎任何给定属性的更改事件处理程序都会触发,即使在第一次使用该属性的默认值以外的值初始化元素时也是如此。

例如,假设我有以下自定义 Polymer 元素。

当我在我的标记中包含这个元素时,名称更改事件处理程序会立即触发,即使我在概念上不是“更改”值而是初始化它。

我只希望在外部代码修改元素名称属性的值时触发事件处理程序。有没有办法可以设置事件处理程序以这种方式运行?

0 投票
3 回答
1380 浏览

polymer - 从 Polymer js 中删除子元素的属性

我有一个自定义元素,其中有一个核心输入和一个纸质按钮。创建元素时,输入被禁用,我想在点击按钮时启用它。我尝试了几种方法,但无法访问输入的属性。

我应该写什么

编辑

因此,我了解到问题在于我的用户名输入元素位于重复模板中,这对我试图做的事情不利。现在我正在尝试将单个 json 对象绑定到我的元素,但到目前为止还没有运气。

我现在拥有的:

在我的索引页面中:

在我的元素页面中:

我的 JSON 看起来像这样:

我假设我需要在更改其实体属性后以某种方式“更新”我的元素?

0 投票
2 回答
482 浏览

javascript - 如何使用 javascript 函数创建可以调用 javascript 函数的聚合物元素

我有一组对象,我想将每个对象渲染成聚合物线卡元素。点击每个元素时,我想调用一个javascript函数。

我使用了一个简单的循环来使用 javascript 创建元素,但是当我单击/点击元素时没有任何反应。

这是我创建元素的 JS 函数的一部分:

我正在尝试在更大的自定义聚合物元素中渲染卡片。卡片渲染得很好,但是当我点击它们时,我什么也得不到。

但是,如果卡片元素已经存在于文档中,而不是像我试图做的那样被 JS 插入,那么它可以正常工作。只有当我尝试通过 JS 插入相同的标记时,我才会遇到这个问题。

0 投票
1 回答
465 浏览

polymer - React 0.12.2:“错误:JSX 不再支持小写组件名称(纸按钮)”

我正在尝试在 React 组件中使用 Web 组件(paper-icon-button),但出现以下错误:

Error: Lower case component names (paper-button) are no longer supported in JSX" error: See http://fb.me/react-jsx-lower-case

从 React 0.12 开始,所有小写标签名称都被解释为 DOM 元素与 React 组件,所以这应该可以工作:

但是,我注意到当前版本的/node_modules/react/dist/JSXTransformer.js和仍然包含以下条件/node_modules/react-tools/vendor/fbtransform/transforms/react.js

此评论// This is a temporary error message to assist upgrades似乎传达了这只是一条信息性消息,但它破坏了我的应用程序的 Grunt 工作流程。如何在 react@^0.12 中使用自定义元素/Web 组件?

我的项目:

options: { transform: [require('grunt-react').browserify] }使用该选项运行我的 grunt-browerify 任务时收到错误消息。这就是我的 package.json 中的内容:

0 投票
1 回答
4031 浏览

css - 样式化自定义 HTML 元素

我创建了一个香草自定义元素:

该元素使用 Shadow DOM 和其中的<style>标签。但是,我想让用户在主样式表中定义自定义元素的大小。它通过引用自定义标签来工作,但这是推荐的方法吗?

例如:

0 投票
1 回答
156 浏览

javascript - 在带有 CONTENT 标记的自定义元素中使用 SELECT 标记时出现问题

这是显示行为的 jsfiddle

我希望能够将option元素拉入 Shadow DOM 中的插入点,但由于 DOMselect是空的,我认为不会发生这种情况。无论如何,Chrome 检查器对插入点并不是很有帮助,但我已经验证了我的浏览器在执行其他插入点操作时可以正常工作,例如除了将option元素插入到select.

我定义了一个自定义元素,如下所示:

这是#guy模板:

这是用法:

同样,我希望将这些option元素插入到selectShadow DOM 中,但是当我打开下拉列表时它们不会出现。

我认为也许“派生”HTMLElement是问题所在,但如果我实现它也行不通HTMLSelectElement

我还尝试过不使用模板并直接修改shadow' innerHTML,但这也不起作用。

我目前的想法是元素在s、s 或soption之外无效,并且浏览器正在抛出某种适合但没有告诉我的情况。selectdatalistoptgroup

我很茫然,可能会通过创建第二个item元素占位符来解决这个问题,该占位符将转换为option我的createdCallback. 啊。

0 投票
1 回答
144 浏览

knockout.js - 淘汰赛中的自定义元素应该如何与其合作者沟通?

我很难找到一种让自定义元素与周围环境交流的好方法。到目前为止,我的 google-karma 很低,我还没有找到任何描述 Knockout 中自定义元素的良好架构的东西。

与往常一样,什么才是好的架构取决于 ;-)

更新: 我创建了一个小提琴试图解释我的想法

就我而言:

  • 我希望自定义元素是真正自主的。
  • 它应该在添加到视图时正常工作,没有错误。
  • 它根本不应该与任何服务或任何其他外部组件直接通信。

给定一个带有一个保存按钮的自定义元素,它应该只在发生更改后才被激活,我们可以像这样传递一个协调器:

父视图模型定义协调器的位置:

并通过参数传递:

然后我认为协调器应该与自定义元素在同一目录中定义:

你怎么看?我是在做某事,还是我错误地处理了这个问题?

0 投票
1 回答
1846 浏览

javascript - 在自定义元素问题中扩展 HTMLCanvasElement

我无法获得自定义画布元素的绘图上下文。

是错误,遗漏还是其他?

PS 我正在寻找仅基于铬的浏览器的解决方案。

0 投票
1 回答
122 浏览

javascript - Javascript向影子根中的自定义元素添加功能

我正在使用 shadow root 编写一个应用程序,我发现我自己使用shadow.children[i].addEventListener('click', fn);了这么多,所以我尝试创建一个自定义函数来简写它,所以我写道:

并从自定义元素中调用它;

问题是调用元素后直接执行的函数,而不是等待“监听”指定元素上的“点击”动作。

任何想法如何解决它?