VUE的component和components

component是注册全局组件,在实例化VUE前调用,注册后可以全局使用

Vue.component('todo-item',{
  props:['grocery'],
  template:'<li>{{grocery.text}}</li>'
})
var app7 = new Vue({
  el:"#app7",
  data:{
    groceryList:[
      {"id":0,"text":"蔬菜"},
      {"id":1,"text":"奶酪"},
      {"id":2,"text":"其他"}
    ]
  }
})

components是局部注册组件,注册后只能在当页调用。

var Child = {
  template: '<div>A custom component!</div>'
}
new Vue({
 // ...
  components: {
  // <my-component> 将只在父模板可用
  'my-component': Child
 }
})

还有一种使用VUE.use()注册的方法。
如/components/loading/文件夹下有多个文件 index.js 和loading.vue文件,其中loading.vue普通组件文件,index.js文件如下

import MyLoading from './Loading.vue'
// 这里是重点
const Loading = {
    install: function(Vue){
        Vue.component('my-load',MyLoading );
    }
}
//导出组件
export default Loading

或是直接输出

import MyLoading from './Loading.vue'
// 这里是重点
export default {
    install:function(Vue){
        Vue.component('my-load',MyLoading );
    }
}

在main.js 里面只要在new Vue前 加上

import Loading from './components/loading'
Vue.use(Loading);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容