vue中的组件

2019年8月17日


创建组件的方式

方式一

使用Vue.extend来创建全局的vue组件

		//使用Vue.extend来创建全局的vue组件
        var com1=Vue.extend({
            template:'<h3>这是一个h3</h3>' //通过template属性,指定了组件要展示的HTML结构
        })
        //使用Vue.component('组件的名称',创建出来的组件模板对象)
        //如果使用Vue . component定义全局组件的时候,组件名称使用了驼峰命名,则在引用组件的时候,需要把大写的驼峰改为小写的字母,同时,两个单词之前,使用-链接;
        //如果不使用驼峰,则直接拿名称来使用即可;
        Vue.component('mycom1',com1)

如果使用Vue . component定义全局组件的时候,组件名称使用了驼峰命名,则在引用组件的时候,需要把大写的驼峰改为小写的字母,同时,两个单词之前,使用-链接;

例如创建的组件名称是myCom1, 则在HTML中进入的时候要写为

<my-com1></my-com1>

如果不使用驼峰,则直接拿名称来使用即可;


方式二

		Vue.component('mycom2',{
            template:'<h3>这是一个h3</h3>'
        })

注意:不论是哪种方式创建出来的组件,组件的template 属性指向的模板内容,必须有且只能有唯一的一个根元素
所以最好外面嵌套一个div


方式三

Vue.component('mycom3',{
            template:'#tmp1'
        })

引用方式
在被控制的#app外面,使用template元素,定义组件的HTML模板结构

<template id="tmp1">
                <h4>这是第三种创建方式</h4>
            </template>

使用components创建私有组件

在实例内部添加components属性

var vm2=new Vue({
            el:'#app2',
           data:{},
           methods:{},
           components:{     //定义实例内部私有组件的
            login:{
                template:'#tmp2'
            }
           }
        })

在页面中引用私有属性

<div id="app2">
        <template id="tmp2">
            <h1>
                这是私有的组件
            </h1>
        </template>   
    </div>

组件中的data

1.组件可以有自己的data数据
2.组件的data和实例的data 有点不一样,实例中的data 可以为一个对象,但是组件中的data必须是个方法
3.组件中的data 除了必须为一个方法之外,这个方法内部,还必须返回一个对象才行;
4.组件中的data数据,使用方式,和实例中的 data使用方式一样

Vue.component('mycom1',{
            template:'<h1>这是全局组件--{{msg}}</h1>',
            data:function(){
                return{
                    msg:'这是data'
                }
            }
        })

如果要在页面中引用,在相应位置使用插值表达式即可

为组件添加tag=""这个属性可以指定渲染成指定类型的标签

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值