问题标签 [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.
polymer - 聚合物 1.0:用法
Polymer 1.0 元素的正确使用<iron-meta>
令人困惑。这是Github 上的链接。这里是Polymer 演示站点的链接。
有人可以提供一个正确的代码示例来说明如何使其工作吗?
这是我到目前为止的代码。
这是该问题的Github 链接。这是一个Github 存储库,其中包含完整 Web 应用程序上下文中的完整问题代码。
css - 聚合物定制样式有时会级联错误
我注意到使用聚合物定制样式时级联并不总是正确的。从它的外观来看,这可能是级联应用于自定义元素的方式中的一个错误,但我只想确认我没有做一些愚蠢的事情。
对于我的自定义元素,请考虑以下范围样式:
...但是一旦渲染, :first-child 就会被第一个定义覆盖,如下图所示。确保border: none
正确应用 my 的唯一方法是使用!important
,我不希望这样做。
我应该注意到,我在许多其他地方都看到过这种行为,并选择仅将!important
其用作快速解决方案,但这开始感觉很笨拙。
只需在此处添加渲染元素的图像即可显示“不正确”的顶部边框。
dart - 创建自定义 Polymer 元素
我正在尝试创建一个自定义 Polymer 元素,该元素可扩展paper-shadow
以显示 Tweet。
这是我的实现:
tweet_element.html
推特飞镖
最后是创建 TweetElement 并尝试将其添加到 DOM 的代码:
当我运行它时,我得到:
所以然后我尝试将twitter.dart更改为:
并将元素添加到 DOM 中,如下所示:
现在我得到了这个错误:
html - 自定义元素选择器
有没有办法用 CSS 选择所有自定义元素?我想让所有自定义元素默认成为块元素(大多数浏览器默认将它们内联),然后根据需要覆盖它。
我的规则可能看起来像这样:
所有自定义元素在标准中都有破折号,所以我可以利用它创建一个规则,但在许多/大多数当前浏览器上它会更慢,因为它需要使用正则表达式。如果有一个内置的选择器,这可能会更快。
dart - 模板数据绑定
我正在尝试使用数据绑定创建自定义元素。
这是我的自定义元素模板:
推特飞镖
这就是我创建和添加元素的方式:
主要.dart
tweet-element
元素并被添加到 DOM,但具有数据绑定的字段为空白:
对象没有问题tweet
,因为我尝试使用其他字符串设置元素字段,但它也不起作用。
dependencies - 如何在 Polymer 中指定自定义元素依赖项
很抱歉这个小问题,但假设我想要一个自定义元素,比如“my-login-form”,其中包括“iron-input”。我如何表示我的表格取决于“铁输入”?我应该使用类似的东西吗
在“my-login-form.html”文件的开头?
javascript - 聚合物自定义元素不服从父 html 元素
我正在使用 Polymer 1.0 - 我的页面包含在 a 中paper-scroll-header-panel
,并且我正在尝试将主工具栏的一部分转换为自定义元素 ( my-header
):
my-header
自定义元素如下所示:
问题是布局属性bottom center horizontal layout
没有被正确应用,因为它不服从父<paper-toolbar>
元素。它呈现如下:
但它应该与橙色框底部和Title
左侧的文本一起呈现,中间的长弹性框和LANG
最右侧。如果我从自定义元素中提取 HTML 并将其直接粘贴到 index.html 文件中,它就可以正常工作。
如您所见,我向元素添加了一些行为,并尝试在ready
函数中调用它们,但无济于事..
我还尝试将整个元素拉入自定义元素中,但这只会在's 的功能<paper-toolbar>
上产生更多问题。<paper-scroll-header-panel>
我怎样才能让这个自定义元素留在其父元素内并遵守格式化类/属性?
html - 在 Polymer 自定义元素中引用 3rd 方 JS 库的最佳做法是什么?
目前,我面临一些关于重复引用 3rd-party 库的严重问题,这会导致一些库出现故障。
这是第一个自定义元素。
这是另一个元素。
如您所见,这两个脚本标记都引用位于同一路径中的 jQuery。通常,浏览器应该加载 jQuery 2 次,这会导致一些严重的问题,如下面的代码。
当第二次加载 jQuery 时,所有注册的事件都将被清除。
我认为这不是 jQuery 或任何其他第三方库的错误。但这是聚合物的一个严重问题。允许元素加载重复脚本完全是胡说八道。
你有什么实用的方法来解决这个问题吗?
请记住,这两个元素的源代码可能位于不同的存储库中,并且不应该相互了解。
谢谢,
javascript - 共享自定义元素创建性能
Polymer 文档建议使用自定义元素来共享一些静态数据,例如配置。类似的东西<app-settings>
。
我想知道从性能的角度来看它是否是最佳的。每当使用这种非视觉元素时,都必须创建它。简单地以全局变量或 (AMD/requirejs) 模块的形式共享设置不是更好吗?
对于像<iron-ajax>
. 如果我将许多自定义元素放在我的自定义元素中,它不会影响性能,而不是简单地使用一些现有的 XHR 库吗?
css - Shadow DOM 重置样式表
我希望我正在制作的应用程序可以reset.css
在全球范围内使用。我也希望它能够穿透所有阴影根,但特异性较低。我怎样才能做到这一点?
假设我的reset.css
内容如下:
然后我的自定义元素有一个模板,如:
我的问题是模板的li
选择器没有足够的特异性来击败::shadow li
。我不想在每个自定义元素中重复自己。我想我可以<link>
为每个添加一个,<template>
但我会再次重复自己。我也可以让 JavaScript 注入,<link>
但我不确定这是最好的方法。
我可以使用哪些其他方法reset.css
来穿透阴影根但特异性很小?