Vue组件

作者: _前端码农_ | 来源:发表于2018-11-20 09:57 被阅读0次

    1、注册:全局注册和局部注册
    2、与vue实例不同的是data函数输入需要return
    3.全局注册

    Vue.component('my-com',{
        template:'<div></div>'
    })
    

    4.局部注册

    var child={
        template:'<div>...</div>'
    }
    new Vue({
        el:'#app',
        complate:{
            'my-com':child   
        }   
    })
    

    5.限制元素:table

    <table>
        <tbody is="my-com'></tbody>
    </table>
    

    6.父传子,正向传递

    props:{  
    
        propE:{
    
            type:Array,
    
            default:function(){  //如果是数组或者对象,默认值必须是一个函数
    
                return [];
    
            }   
    
        }
    
    }
    

    7.组件通信

    父传子(props) 子传父($emit)

    8.v-on 除了监听自定义事件外,也可以监听DOM事件,这时用.native做修饰符,表示监听的是一个原生事件

    <my-com v-on:click.native='handleClick'></my-com>

    9.非父子组件通信(第三方)

    this.parent this.children.handleEvent();

    10.slot单个挂载

    <app>{{message}}</app>
    
    Vue.component('app',{
    
        template:'<slot></slot>  //只有一个slot时,自动挂载
    
    })
    

    11.多个slot

    <app>
        <div slot='a></div>
        <div slot='b'></div>
    </app>
    Vue.component('app',{
        <div>
            <slot name='a'>此处可以写默认内容</slot>
            <slot name='b'></slot>       
        </div>
    });
    

    访问slot:this.$slots.a.

    相关文章

      网友评论

          本文标题:Vue组件

          本文链接:https://www.haomeiwen.com/subject/uqrtqqtx.html