Vue 组件

局部组件

我们可以将组件直接包含在 *.vue 文件的 <script> 标签中,而不是将其包含在 main.js 中。

如果我们直接在 *.vue 文件中包含组件,则该组件只能在该文件中本地访问。

示例

为了使 CompOne.vue 成为 App.vue 的本地资源,并且只能在 b2 中访问,我们将其从 main.js 中删除。

main.js:

import { createApp } from 'vue'
 
import App from './App.vue'
import CompOne from './components/CompOne.vue' 
import CompTwo from './components/CompTwo.vue'
 
const app = createApp(App)
app.component('comp-one', CompOne) 
app.component('comp-two', CompTwo)
app.mount('#app')

并将 CompOne.vue 直接包含在 App.vue<script> 标签中。

App.vue:

<template>
  <h3>Local Component</h3>
  <p>CompOne.vue 组件是局部组件,只能在 App.vue 内部使用。</p>
  <comp-one />
  <comp-two />
</template>

<script> 
  import CompOne from './components/CompOne.vue';

  export default {
    components: {
      'comp-one': CompOne
    }
  }
</script>
运行示例 »

CompOne.vue 组件现在仅在 App.vue 中可用。

如果您在开发模式下运行应用程序并尝试从 CompTwo.vue 内部使用 CompOne.vue,您会收到警告:


Vue 练习

通过练习测试自己

练习题:

我们如何才能使"comp-one"组件仅对一个组件,在局部可用?

<script> 
 CompOne from './components/CompOne.vue';

  export default {
    : {
      'comp-one': 
    }
  }
</script>

开始练习