定义两个组件:
一:loading组件 loading----index.js、loading.vue
loading.vue:
<template>
<div>
loading
</div>
</template>
index.js:
import loadingComponent from './loading.vue'
//定义loading对象
const Loading = {
// install 是默认的方法。当外界在 use 这个组件的时候,就会调用本身的 install 方法,同时传一个 Vue 这个类的参数。
install: function (Vue) {
Vue.component('Loading', loadingComponent)
}
}
export default Loading
二:com02组件
com02-----com01.vue
<template>
<div>我是com02</div>
</template>
在main.js中引入这两个组件
一、loading组件的引入:
import Loading from './components/loading/index.js'
Vue.use(Loading)
使用Vue.use()方法,会调用这个模块组件的install方法,即会全局注册loading组件。此组件可以全局使用。因为vue中全局注册的组件可以用在其被注册之后的任何 (通过 new Vue) 新创建的 Vue 根实例,也包括其组件树中的所有子组件的模板中。
二、com02组件的引入
import com02 from './components/com02/com02.vue'
new Vue({
...
components: {
com02
},
...
})
此方式为局部注册com02组件,局部有效,在其子组件中不可使用。
三、组件渲染
在app.vue中引入两个组件标签
<Loading></Loading>
<com02></com02>
如果想要写一个全局有效的组件,就将其写成模块封装的形式,在install方法中全局注册该组件