Vue注册组件的3种方式

第一种方式 extend:
vue.js中这样写:

var com1 = Vue.extend({
   template:'

这是第一种方式

' }); Vue.component("myCom1",com1);

注:myCom1是采用的驼峰命名方式,所以html中这样写:


注:如果不采用驼峰命名方式,js和html中这样写:
vue.js中这样写:

var com1 = Vue.extend({
    template:'

这是第一种方式

' }); Vue.component("mycom1",com1);

html中写法:


上面可以不使用中间变量,即把com1的内容直接写在Vue.component(“mycom1”,com1)里面,如:

Vue.component("mycom1",Vue.extend({
    template:'

这是第一种方式

' }));

第二种方式:不用extend
vue.js中这样写:

Vue.component("mycom1",{
    template:'

这是h3标签

这是span标签
' });

注:不论是哪种方式创建出来的组件,必须只有一个根元素,即多个html元素的时候,要用一个div包裹
html中依旧写成:


第三种:在页面上定义外部template元素
vue.js中这样写:

Vue.component("mycom1",{
    template:'#temp'
});

html中写template结构:


PS:以上是全局注册,局部注册如下:

第一种局部注册:
js文件中写:

var vm = new Vue({
    el:"#newBrand",
    data:{},
    components:{
        mycom1:{
            template: '

这是局部template

' } } });

html文件中写:

第二种局部注册:

js文件中这样写:

var vm = new Vue({
    el:"#newBrand",
    data:{},
    components:{
        mycom1:{
            template: '#temp'
        }
    }
});

html文件中写法:


你可能感兴趣的:(Vue)