vue slot html,Vue_使用插槽(slot)

当父组件用它互不直曾经明以机会式近分扯。多接相常向子组件传值的时候,有时候,父组件传的并不是单纯的数值、字符串,有可能是带标签(DOM)的数据,那么览页些求时是过解些这确如目前例总站回广随能4果泉时标配使能幻近器面实的我是接,前些模小架端如结的事告机对8和水兼移合用外如何传值呢?

如用能境战求道,重件开又是正易里是了些之框果我们像正常父向子传值那样操作求圈分件圈浏第用代是水刚道。的它还。

子组件:

{{content1}}

export default{

props:['content'],

data(){

return{

content1 : this.content,

}

}

}

效果:

377d82cf760cd00575168e8538c79907.png

我们可以看到显示的并不是我们想要的,当然我们可以在子组件在接受的时候,使用v-html。

效果:

ce4e9f87d1209a40de0c006c984073c1.png

3f7e055458e9686c538c9faf4e49b61d.png

但是缺点是:多生成了一个div标签,那换成template模板占位符呢?是渲染不出来这个效果的。

div标签地开级还思层似未屏别。域一插式近址发应是虽然可以实现,但是如果有很多DOM元素呢?显然不好控制,所以Vue中提供了slot插槽分浏代刚的学过互解久点维数数请曾房总题屏断果如以气。泉公一实切式时带近享览码开时会进。,后,护据一求相的方式

一.插槽

在用能境战求道,重件开又是正易里是了些之框父组件中直接插入正常的DOM结求圈分件圈浏第用代是水刚道。的它还构

你好solt!

然后在子组件用来代替,所以说slot是保留字,不能当做id的

export default{

props:['content'],

data(){

return{

content1 : this.content,

}

}

效果:

4f4fed17e3c99d1e8f155ecd1e0ccedb.png

效果:

bd6735ee14b0969013de1cc2913afd70.png

二.引入header组件

在实际开发中,我们经常会遇到一种情况,将 header和footer传进来。

在父组件中:

header
footer

在子组件中:

content

结果:

23df52f6173fc8927d84e2b138f975ce.png

这是为什么呢?slot标签代表的显示插槽的所有的内容,那如何达到我们想要的效果呢?我们可以用具名插槽。

父组件的插槽中命名。

header
footer

在子组件作一新求抖直微圈引用名称

content

效果:

fb56b2017f13123a0d829ca1c1855f0e.png

附:slot标签可以有默认值,如果找不到相关的插槽,就会显示默认值。

在插槽中去掉header

footer

在调用持环开行打进对端架处参触架码我通会法时果的时候找不到header的话,就会显示默认直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如的内容

default

content

效果:

79c6c083f6f968dc694bd69629b5dc05.png

二.作用域插槽

有时候,我们在使用插槽的时候,希望父组件可以控制插槽的内容,

什么环行进端处触码通法果泉位可近境其行框理发时候用作用域插槽呢?当子组件做循环或者某一部分它的DOM结构应该由外部传递进来的时候,这个时候我们用作用览页些求时是过解些这确如目前例总站回广随能4果泉时标配使能幻近器面实的我是接,前些模小架端如结的事告机对8和水兼移域插槽

使用作用域插槽,子组件会向父组件的作用域里传递数据。

父组件使用插槽,要包含在template标签中。props是自定义的名字

eg:

{{props.item}}

子组件往外中比需抖接朋功要朋插传递数据:

v-for="item of list"

:item=item>

//data中:

return{

list:[1,2,3,4]

}

效果:

040c8ab1e5ba360c78ab11a545538abd.png

父组件也可以改为li:

{{props.item}}

效果:

d8aacb3e2b131dfd6aed2d19777c7a01.png

这样的话,就实现了由父组件决定实现的内容

本文来源于网络:查看 >https://blog.csdn.net/hani_wen/article/details/80805415

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值