如何使用 kebab-case 在 Vue 中命名组件?
How can I use kebab-case for naming components in Vue?
当我在模板中的标签上调用组件名称时,我想在组件名称上使用 snake_case
。我刚试过:
<script>
import footer-goodfooter from "@/comp/footer/c_footer.vue";
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// 'import ... =' can only be used in TypeScript files.Vetur(8002)
export default {
name: 'App',
components: {
footer-goodfooter,
^
// ',' expected.Vetur(1005)
},
但我希望我的组件(在本例中为 footer-goodfooter)位于模板下方,如下所示:
<main>
<header-bigheader />
<content-fat-superfat-hallelujah />
<footer-goodfooter />
</main>
我怎样才能做到这一点?谢谢。
组件在 Vue 中是 PascalCase
,但在模板中可以通过 kebab-case
调用它们
<template>
<footer-good-footer />
</template>
<script lang="ts">
import FooterGoodFooter from "@/comp/footer/c_footer.vue";
export default {
name: 'App',
components: {
FooterGoodFooter, // OR 'custom-name': footerGoodFooter
}
}
</script>
据我所知,文件名在这里无关紧要。
参见:https://vuejs.org/v2/guide/components-registration.html#Local-Registration
我真的不知道我是否理解你的问题。但是如果你想实现在你的模板中调用一个组件,比如:
<single-filter-container></single-filter-container>
...然后在 singleFilterContainer.vue 中进行导出,例如:
export default {
name: "singleFilterContainer"
}
...将此组件导入到它的父组件中,如:
import SingleFilterContainer from "@/components/singleFilterContainer";
... 并在您的模板中使用它,例如:
<single-filter-container></single-filter-container>
据我所知,这是一个正常的用例,因此不需要任何解决方法。推荐在Vue.js的Style Guide。请按照我提到的方式尝试,如果它不起作用,请提供一些反馈。
如果是这样,我们可以检查您的某个模块是否有任何问题,或者您的 IDE 有一个插件可以为您自动完成。我正在使用 Vue 3
并使用 Vue.js 插件开发 IntelliJ
。
当我在模板中的标签上调用组件名称时,我想在组件名称上使用 snake_case
。我刚试过:
<script>
import footer-goodfooter from "@/comp/footer/c_footer.vue";
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// 'import ... =' can only be used in TypeScript files.Vetur(8002)
export default {
name: 'App',
components: {
footer-goodfooter,
^
// ',' expected.Vetur(1005)
},
但我希望我的组件(在本例中为 footer-goodfooter)位于模板下方,如下所示:
<main>
<header-bigheader />
<content-fat-superfat-hallelujah />
<footer-goodfooter />
</main>
我怎样才能做到这一点?谢谢。
组件在 Vue 中是 PascalCase
,但在模板中可以通过 kebab-case
<template>
<footer-good-footer />
</template>
<script lang="ts">
import FooterGoodFooter from "@/comp/footer/c_footer.vue";
export default {
name: 'App',
components: {
FooterGoodFooter, // OR 'custom-name': footerGoodFooter
}
}
</script>
据我所知,文件名在这里无关紧要。
参见:https://vuejs.org/v2/guide/components-registration.html#Local-Registration
我真的不知道我是否理解你的问题。但是如果你想实现在你的模板中调用一个组件,比如:
<single-filter-container></single-filter-container>
...然后在 singleFilterContainer.vue 中进行导出,例如:
export default {
name: "singleFilterContainer"
}
...将此组件导入到它的父组件中,如:
import SingleFilterContainer from "@/components/singleFilterContainer";
... 并在您的模板中使用它,例如:
<single-filter-container></single-filter-container>
据我所知,这是一个正常的用例,因此不需要任何解决方法。推荐在Vue.js的Style Guide。请按照我提到的方式尝试,如果它不起作用,请提供一些反馈。
如果是这样,我们可以检查您的某个模块是否有任何问题,或者您的 IDE 有一个插件可以为您自动完成。我正在使用 Vue 3
并使用 Vue.js 插件开发 IntelliJ
。