问题标签 [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.

0 投票
1 回答
422 浏览

javascript - 导入/更改 HTML 内容(在 ES6 更新后)

我一直在尝试通过导入外部 HTML 文件来动态更改我的 HTML 页面的内容。我找到了一种使用 HTML 导入的方法,但如果我理解正确的话,这个功能将会因为 ES6 更新而过时。从我设法在网上找到的内容来看,可能有另一种使用javascript模块来做到这一点的方法,但我找不到任何具体的东西。

我想改变页面的很大一部分(一个包含表单的窗口变成一个展示用户统计信息的窗口),所以在 javascript 中使用 .innerHTML 似乎并不聪明。有人对如何导入 html 文件或动态更改页面内容有任何好的想法吗?(使用 javascript、节点等)

非常感谢任何帮助:)

0 投票
1 回答
67 浏览

web-component - Webfundamentals、带有 shadowDOM 的 CustomElement 和带有 HTML 导入的 HTML 模板

我有关于 webfundamentals 实现的各种问题,我读过一个真正的 web 组件必须具有用于 css 封装的 shadowDOM,用于我真正喜欢的组件逻辑的 customElements,以及 HTML Temapltes 和导入,所以我试图做到这一切一个 customElement 组件,我遇到了很多我觉得很难调试的问题,我会全部列出来。

  1. 我是否必须将 html 模板插入到文档中才能真正得到它?我不能只从 js 获取它的内容吗?如果我必须,当我打算替换 shadowHost 内容时它是如何工作的,我的意思是我在 shadowRoot 中得到了模板(链接),我的实际问题是当我做querySelector(链接 [rel="import"]).import.querySelector("template")它在 .import 函数标记之后为空,当我将该函数插入文档时,它实际上获取了模板内容,这是文档。

在此处输入图像描述

看那个截图我还有2个问题

  1. 我应该shadowHost.innerHTML = file.querySelector(link[rel="import"]).import.querySelector("template") 使用标签并将其内容复制到 shadowRoot 元素中吗?我的意思是我该如何实施这种方法?我使用 Angular 作为第一个示例,他们使用一个 HTML 文件(我猜测它是一个模板或插槽标签),然后他们将它作为构造函数的参数添加到组件中,所以如何使用 HTMLTemplates 和 HTMLImport 我可以实现该行为,我已使用记录的功能,但在最后阶段不起作用。

  2. 我应该保留<link rel="import">在 shadowRoot 内还是 document.head 内?我可以实现模板而不需要将其添加到文档中吗?

几天来,我一直在尝试用 shadowDOM 做一个简单的 customElement,它工作得很好,问题是当我尝试添加一个外部以使其更健壮时。

有什么帮助吗?建议?我可以展示一些我在组件上使用的功能来产生想法。

0 投票
2 回答
560 浏览

node.js - 如何使用 NodeJS 文件正确呈现自定义元素?

我是使用自定义元素和 Node.js 的新手,所以我正在构建一个简单的服务器和组件示例。问题是,当我导入组件时,浏览器崩溃并出现错误 400 错误请求,并尝试加载组件但多次重复导入路径,如您所见。

这是我的服务器文件:

这是我的index.html

和组件:

这是我的错误>:/ 在此处输入图像描述

就像你可以看到重复“/Components/Components/Components/...”很多次并且组件没有呈现。

0 投票
1 回答
913 浏览

typescript - 如何导入 umd