vue 是一个完全支持组件化开发的框架, 组件之间可以进行相互的引用。vue 中组件的引用原则:先注册后使用。
组件之间可以进行相互的引用,例如:
注册组件的的方式:分为“全局注册”和“局部注册”两种,其中:
org.springframework.boot spring-boot-starter-actuator import { createApp } from 'vue' import App from './App.vue' // 1.导入 Swiper 和 Test 两个组件 import Swiper from './components/MySwiper.vue' import Test from './components/MyTest.vue' const app = createApp(App)// 2.调用app实例的component()方法,在全局注册my-swiper和my-test两个组件 app.component('my-swiper', Swiper) app.component('my-test', Test) app.mount('#app')
使用app.component() 方法注册的全局组件,直接以标签的形式进行使用即可,例如:
//在 main.js中,注册了my-swiper 和my-test两个全局组件 spa_app.component('my-swiper', Swiper) spa_app.component('my-test', Test) <!--在其他组件中,直接以标签的形式,使用刚才注册的全局组件即可这是App根组件
这是App根组件
应用场景: 如果某些组件在开发期间的使用频率很高,推荐进行全局注册;
如果某些组件只在特定的情况下会被用到,推荐进行局部注册。
在进行组件的注册时,定义组件注册名称的方式有两种:
①使用kebab-case命名法(俗称短横线命名法,例如my-swiper 和my-search)
②使用PascalCase命名法(俗称帕斯卡命名法或大驼峰命名法,例如MySwiper和MySearch)
短横线命名法的特点:
必须严格按照短横线名称进行使用
帕斯卡命名法的特点:
既可以严格按照帕斯卡名称进行使用,又可以转化为短横线名称进行使用
注意:在实际开发中,推荐使用帕斯卡命名法为组件注册名称,因为它的适用性更强。
在注册组件期间,除了可以直接提供组件的注册名称之外,还可以把组件的name 属性作为注册后组件的名称,
示例代码如下:
默认情况下,写在.vue 组件中的样式会全局生效,因此很容易造成多个组件之间的样式冲突问题。导致组件之间样式冲突的根本原因是:
单页面应用程序中,所有组件的DOM 结构,都是基于唯一的index.html 页面进行呈现的
每个组件中的样式,都会影响整个index.html 页面中的DOM 元素
Copyright © 2013-2021 河南云和数据信息技术有限公司 豫ICP备14003305号-5 ISP经营许可证:豫B-20160281