Vue3:是否可以将包含组件的 HTML 文件导入 SFC
Vue3: is it possible to import a HTML file with components in it to a SFC
我有一个表单组件 (SFC),它应该导入一个包含 Vue 组件的 HTML 文件。
表单组件
<template src="../../../views/form-settings.html"></template>
<script setup>
import Button from "./../ui/button/Button.vue";
</script>
HTML 文件(表格-settings.html)
<div>
<Button>test button</Button>
</div>
package.json
"devDependencies": {
"@vue/compiler-sfc": "^3.2.31",
"laravel-mix": "^6.0.6",
"vue-loader": "^17.0.0"
},
"dependencies": {
"vue": "^3.2.31",
},
HTML 文件已正确加载,但其中的 Button-Component 未正确加载。所以我得到错误:
[Vue 警告]:解析组件失败:按钮
如果这是原生自定义元素,请确保通过 compilerOptions.isCustomElement.
将其从组件解析中排除
是的,这是可能的。
您甚至可以导入脚本和样式部分:
<template src="./template.html"></template>
<style src="./style.css"></style>
<script src="./script.js"></script>
我不知道为什么您的代码不起作用,我尝试创建一个类似的演示并且它运行良好。 See it here on Stackblitz
我现在已经自己解决了这个问题。
我不得不在 app.js 的 HTML 文件中导入我想使用的组件,然后用 Vue 初始化它们。
import BaseButton from "./components/ui/BaseButton.vue";
app.component("BaseButton", BaseButton);
我有一个表单组件 (SFC),它应该导入一个包含 Vue 组件的 HTML 文件。
表单组件
<template src="../../../views/form-settings.html"></template>
<script setup>
import Button from "./../ui/button/Button.vue";
</script>
HTML 文件(表格-settings.html)
<div>
<Button>test button</Button>
</div>
package.json
"devDependencies": {
"@vue/compiler-sfc": "^3.2.31",
"laravel-mix": "^6.0.6",
"vue-loader": "^17.0.0"
},
"dependencies": {
"vue": "^3.2.31",
},
HTML 文件已正确加载,但其中的 Button-Component 未正确加载。所以我得到错误: [Vue 警告]:解析组件失败:按钮 如果这是原生自定义元素,请确保通过 compilerOptions.isCustomElement.
将其从组件解析中排除是的,这是可能的。
您甚至可以导入脚本和样式部分:
<template src="./template.html"></template>
<style src="./style.css"></style>
<script src="./script.js"></script>
我不知道为什么您的代码不起作用,我尝试创建一个类似的演示并且它运行良好。 See it here on Stackblitz
我现在已经自己解决了这个问题。
我不得不在 app.js 的 HTML 文件中导入我想使用的组件,然后用 Vue 初始化它们。
import BaseButton from "./components/ui/BaseButton.vue";
app.component("BaseButton", BaseButton);