zoukankan      html  css  js  c++  java
  • Vue中的slot插槽

    slot插槽

    vue里提供了一种将父组件的内容和子组件的模板整合的方法:内容分发,通过slot插槽来实现

    匿名插槽

    在父组件中使用子组件的时候,在子组件标签内部写入内容。在子组件的模板中可以通过来使用

    <div id="app">
        <hello>
            <div>联通卡</div>
            <div>移动卡</div>
        </hello>
    </div>
    
    <template id="hello">
        <div>
        	<slot></slot>
        </div>
    </template>
    
    具名插槽

    父组件在子组件标签内写的多个内容我们可以给其设置slot属性来命名,在子组件的模板通过通过使用带有name属性的slot标签来放置对应的slot。

    <div id="app">
        <hello>
            <div slot="a">联通卡</div>
            <div slot="b">移动卡</div>
        </hello>
    </div>
    
    <template id="hello">
        <div>
            <slot name="a"></slot>
            <slot name="b"></slot>
        </div>
    </template>
    
    新版本2.6+支持v-slot方式

    v-slot在使用时,需要在template标签内,这点大家要注意

    <hello>
        <template v-slot:a>
            <div>联通卡</div>
        </template>
        <template v-slot:b>
            <div>移动卡</div>
        </template>
    </hello>
    
    
    <template id="hello">
        <div>
            <slot name="a" ></slot>
            <slot name="b" ></slot>
        </div>
    </template>
    

    接受props的具名槽口

    <div id="app">
        <hello>
            <template v-slot:a>
            	<div>联通卡</div>
            </template>
            <template v-slot:b="info">
            	<div>移动卡 {{info.msgb}}</div>
            </template>
        </hello>
    </div>
    
    <template id="hello">
        <div>
            <slot name="a" ></slot>
            <slot name="b" :msgb="msg"></slot>
        </div>
    </template>
    
    
     Vue.component("hello",{
         template:"#hello",
         data(){
             return {
             	msg:"你好"
             }
         }
     })
    
  • 相关阅读:
    URAL1966 Cipher Message 3
    hdu5307 He is Flying
    UVA12633 Super Rooks on Chessboard
    spoj-TSUM Triple Sums
    bzoj3160 万径人踪灭
    bzoj2194 快速傅立叶之二
    FFT NTT 模板
    NOI2009 植物大战僵尸
    最长k可重线段集问题
    最长k可重区间集问题
  • 原文地址:https://www.cnblogs.com/Mine-/p/14098626.html
Copyright © 2011-2022 走看看