菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue 教程

Vue 首页 Vue Intro Vue Directives Vue v-bind Vue v-if Vue v-show Vue v-for Vue Events Vue v-on Vue Methods Vue Event Modifiers Vue Forms Vue v-model Vue CSS Binding Vue Computed Properties Vue Watchers Vue Templates

Scaling Up

Vue.js:为什么、如何以及如何设置 Vue.js:第一个 SFC 页面 Vue.js:组件 Vue.js:Props Vue.js:v-for 组件 Vue.js:$emit() Vue.js:透传属性 Vue.js:作用域样式 Vue.js:本地组件 Vue.js:Slots Vue.js:v-slot Vue.js:作用域插槽 Vue.js:动态组件 Vue.js:Teleport Vue.js:HTTP 请求 Vue.js:模板引用 Vue.js:生命周期钩子 Vue.js:Provide/Inject Vue.js:路由 Vue.js:表单输入 Vue.js:动画 Vue.js:带 v-for 的动画 Vue.js:构建 Vue.js:Composition API

Vue Reference

Vue Built-in Attributes Vue Built-in Components Vue Built-in Elements Vue Component Instance Vue Directives Vue Instance Options Vue Lifecycle Hooks

Vue 示例

Vue Examples Vue Exercises Vue Quiz Vue Server Vue Certificate

本地组件

到目前为止,我们包含组件的方式使它们可以从项目中的所有 *.vue 文件中访问。

组件可以被本地化,这意味着它们只能在特定的 *.vue 文件中访问。

全局组件

我们到目前为止在 main.js 中包含组件的方式,使组件可以在该项目所有其他 *.vue 文件的 <template> 中访问。

示例

我们在 CompTwo.vueApp.vue 中都使用了 CompOne.vue 组件,以展示通过我们当前的 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')
运行示例 »

本地组件

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

如果我们直接在一个 *.vue 文件中包含一个组件,那么该组件将只在该文件中本地可用。

示例

要使 CompOne.vue 组件成为 App.vue 的本地组件,并且只能在该文件中访问,我们需要将其从 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')

然后,将其直接包含在 App.vue<script> 标签中。

App.vue:

<template>
  <h3>Local Component</h3>
  <p>The CompOne.vue component is a local component and can only be used inside 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>

开始练习



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持