当前位置: 首页 > wzjs >正文

最专业的佛山网站建设价格深圳全网营销系统

最专业的佛山网站建设价格,深圳全网营销系统,云南专业网站建站建设,搜索引擎优化课程文章目录 一、需求二、插槽1. 默认插槽2. 具名插槽3. 作用域插槽 一、需求 有三个Category组件&#xff0c;展示不同的内容。 需求&#xff1a;美食模块需要展示图片&#xff0c;游戏模块还是文字&#xff0c;电影模块展示预告片。 <!--App组件--> <template>&l…

文章目录

  • 一、需求
  • 二、插槽
    • 1. 默认插槽
    • 2. 具名插槽
    • 3. 作用域插槽

一、需求

有三个Category组件,展示不同的内容。
需求:美食模块需要展示图片,游戏模块还是文字,电影模块展示预告片。
在这里插入图片描述

<!--App组件-->
<template><div class="container"><Category :listData="foods" title="美食"> </Category><Category :listData="games" title="游戏"> </Category><Category :listData="films" title="电影"> </Category></div>
</template>
<script>data () {return {foods: ['火锅', '烧烤', '小龙虾'],games: ['超级玛丽', '魂斗罗'],films: ['寻梦环游记', '小黄人大眼萌']}}
</script>
<!--Category组件-->
<template><div class="content"><h3 class="title">{{ title }}</h3><ul><li v-for="(item, index) in listData" :key="index">{{ item }}</li></ul></div>
</template>
<script>props: ['listData', 'title']
</script>

二、插槽

作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式。

1. 默认插槽

<!--父组件中:--><Category><div>html结构1</div></Category>
<!--子组件中:--><template><div><!-- 定义插槽,相当于在这里挖了个坑,等待组件的使用者来填充 --><slot>插槽默认内容...</slot></div></template>

在这里插入图片描述
插槽里的这些样式放在App里也行,放在Category里也行。


在这里插入图片描述

2. 具名插槽

当子组件中包含多个插槽时,需要给每个插槽起名字
起名字:指定name属性
使用具名插槽:

  • slot = '插槽名'
  • 如果使用了template, 还可以v-slot:footer来指定使用哪个插槽(这种方式只有template可以这样写)

子组件:

<!--Category组件-->
<template><div class="content"><h3 class="title">{{ title }}</h3><slot name="center"></slot><slot name="footer"></slot></div>
</template>

父组件:

<!--App.vue组件--><div class="container"><Category title="美食"><img slot="center" src="../public/food.jpg" alt="" /><div slot="footer" class="foot"><a href="">更多美食</a><a href="">更多美食</a></div></Category><Category title="游戏"><ul slot="center"><li v-for="(g, index) in games" :key="index">{{ g }}</li></ul><a href="#" slot="footer">单机游戏</a></Category><Category title="电影"><video src="https://vjs.zencdn.net/v/oceans.mp4"></video><template v-slot:footer><div class="foot"><a href="http://www.atguigu.com">经典</a><a href="http://www.atguigu.com">热门</a><a href="http://www.atguigu.com">推荐</a></div></template></Category></div>

在这里插入图片描述
如果插槽不指定名称,使用的时候就会出现多个同样的内容
在这里插入图片描述

在这里插入图片描述

3. 作用域插槽

子组件通过插槽给父组件传值,必须要写template来接收传过来的值。

理解:数据在组件的自身,但根据数据生成的结构需要组件的使用者来决定。(games数据在Category组件中,但使用数据所遍历出来的结构由App组件决定)

子组件Category

<template><div class="content"><slot :films="films"></slot></div>
</template><script>data () {return {films: ['寻梦环游记', '小黄人大眼萌']}}
</script>

父组件App.vue

  <div class="container"><Category><!-- template必须要写 --><template scope="scopeData"><!--查看scopeData具体是什么-->{{scopeData}}<ul><li v-for="(item, index) in scopeData.films" :key="index"> {{ item }}</li></ul></template></Category></div>

1、 scopeData具体内容是什么?
是一个对象
在这里插入图片描述
2、获取scope数据的简单方式,解构赋值

 <template scope="{films}"><ul><li v-for="(item, index) in films" :key="index"> {{ item }}</li></ul></template>

3、获取数据还有一种方式

语法:slot-scope="{films}

 <template slot-scope="{films}">...</template>

用哪种方式都行,是新旧api的原因。slot-scope是新api获取数据的方式,scope是旧api获取数据的方式

http://www.dtcms.com/wzjs/525940.html

相关文章:

  • 网站注册qq网络快速推广渠道
  • 英德住房和城乡建设部网站今日实时热点新闻事件
  • 东莞企业型网站建设公众号排名优化
  • 普洱网站搭建免费建站工具
  • 做高端网站关键词排名工具
  • 电子商务的网站建设网页代码
  • 重庆市建设特种信息百度竞价优化排名
  • 免费网站制作申请廊坊seo整站优化
  • 免费建立手机网站吗seo一键优化
  • 邓州企业网站链接式友谊
  • 长沙网站优化公司qq代刷网站推广
  • 游戏怎么制作百度seo排名点击器
  • 如何做国外的电商网站环球网今日疫情消息
  • 怎么做单位网站优化大师是什么软件
  • 东莞大岭山观音寺门票多少钱淘宝seo优化排名
  • 网站建设预付今日最新国际新闻
  • 网站自定义代码搜索指数分析
  • 做胃肠医院网站百度下载免费安装到桌面
  • 做期货黄金哪个网站信息数据准关键词如何优化排名
  • 怎么快速建动态网站重庆网站排名
  • 做一个营销型网站多少钱公司网址怎么制作
  • 响应式的网站建设一个多少钱国内永久免费的云服务器
  • 做网站素材网代运营公司靠谱吗
  • 企业高端网站建设美工中央今日头条新闻
  • 做直播网站视频教程如何建立自己的网络销售
  • 淮安涟水网站建设反向链接查询
  • 做网站云服务器选择多大带宽做seo要投入什么
  • 怎么在手机上制作网站吗站长资讯
  • 个人网站开发视频石家庄网站建设seo
  • 许昌网站优化百度号码认证平台官网