问题标签 [html-imports]
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.
javascript - 导入/更改 HTML 内容(在 ES6 更新后)
我一直在尝试通过导入外部 HTML 文件来动态更改我的 HTML 页面的内容。我找到了一种使用 HTML 导入的方法,但如果我理解正确的话,这个功能将会因为 ES6 更新而过时。从我设法在网上找到的内容来看,可能有另一种使用javascript模块来做到这一点的方法,但我找不到任何具体的东西。
我想改变页面的很大一部分(一个包含表单的窗口变成一个展示用户统计信息的窗口),所以在 javascript 中使用 .innerHTML 似乎并不聪明。有人对如何导入 html 文件或动态更改页面内容有任何好的想法吗?(使用 javascript、节点等)
非常感谢任何帮助:)
web-component - Webfundamentals、带有 shadowDOM 的 CustomElement 和带有 HTML 导入的 HTML 模板
我有关于 webfundamentals 实现的各种问题,我读过一个真正的 web 组件必须具有用于 css 封装的 shadowDOM,用于我真正喜欢的组件逻辑的 customElements,以及 HTML Temapltes 和导入,所以我试图做到这一切一个 customElement 组件,我遇到了很多我觉得很难调试的问题,我会全部列出来。
- 我是否必须将 html 模板插入到文档中才能真正得到它?我不能只从 js 获取它的内容吗?如果我必须,当我打算替换 shadowHost 内容时它是如何工作的,我的意思是我在 shadowRoot 中得到了模板(链接),我的实际问题是当我做
querySelector(
链接 [rel="import"]).import.querySelector("template")
它在 .import 函数标记之后为空,当我将该函数插入文档时,它实际上获取了模板内容,这是文档。
看那个截图我还有2个问题
我应该
shadowHost.innerHTML = file.querySelector(link[rel="import"]).import.querySelector("template")
使用标签并将其内容复制到 shadowRoot 元素中吗?我的意思是我该如何实施这种方法?我使用 Angular 作为第一个示例,他们使用一个 HTML 文件(我猜测它是一个模板或插槽标签),然后他们将它作为构造函数的参数添加到组件中,所以如何使用 HTMLTemplates 和 HTMLImport 我可以实现该行为,我已使用记录的功能,但在最后阶段不起作用。我应该保留
<link rel="import">
在 shadowRoot 内还是 document.head 内?我可以实现模板而不需要将其添加到文档中吗?
几天来,我一直在尝试用 shadowDOM 做一个简单的 customElement,它工作得很好,问题是当我尝试添加一个外部以使其更健壮时。
有什么帮助吗?建议?我可以展示一些我在组件上使用的功能来产生想法。