Vue插槽

Posted yubaibai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue插槽相关的知识,希望对你有一定的参考价值。

作用:当子组件需要展示更具父组件的dom传来的值,可以用插槽 ,

父组件优雅的向子组件传递dom

 

 

具名插槽

父组件:slot="xxx"是    

子组件: <slot name="xxx"></slot>

<child>
				
				<p slot="name">dell</p>
				<p slot="hi">good night</p>
</child>




Vue.component(‘child‘,{
				props:[‘content‘],
				
				template:`<div>
				          <p>hello</p>
				          <slot name="name"></slot>
				          <div>---------------</div>
				          <slot name="hi"></slot>
				         </div>`,
			})
			

  

 

作用域插槽

父组件在调用子组件的时候给子组件传了一个插槽,这个插槽为作用域插槽,该插槽必须放在template标签里面,同时声明从子组件接收的数据放在一个自定义属性内,并定义该数据的渲染方式

slot-scope="props"

<hello >
                <template slot-scope="props">
                    <li>{{props.item}}</li><--!定义使用渲染方式-->
                </template>
                
</hello>

<hello >
                <template slot-scope="props">
                    <li>{{props.item}}</li><--!定义使用另一种渲染方式-->
                </template>
                
</hello>

Vue.component(hello,{ data:function(){ return { list:[1,2,3,4], } }, template:`<div><ul><slot v-for="item in list" :item=item></slot></ul></div>` })

 

以上是关于Vue插槽的主要内容,如果未能解决你的问题,请参考以下文章

vue插槽

Vue插槽实现原理

Vue.js 插槽 - 如何在计算属性中检索插槽内容

在Vue中获取插槽数据作为变量?

vue----slot插槽

Vue--插槽slot