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

饲料 东莞网站建设保定网站设计网站

饲料 东莞网站建设,保定网站设计网站,重庆小程序开发,烟台市建设工程检测站网站原博出处#xff1a; 作者#xff1a;SentMes 链接#xff1a;SentMes作者书写的作用于插槽链接 https://www.jianshu.com/p/0c9516a3be80 来源#xff1a;简书 ** ** ** 十分感谢原作者#xff0c;写的十分详细#xff0c;原作者辛苦了#xff01; 深入理解vue中的s…原博出处 作者SentMes 链接SentMes作者书写的作用于插槽链接 https://www.jianshu.com/p/0c9516a3be80 来源简书 ** ** ** 十分感谢原作者写的十分详细原作者辛苦了 深入理解vue中的slot与slot-scope ** 写在前面 vue中关于插槽的文档说明很短语言又写的很凝练再加上其和methodsdatacomputed等常用选项在使用频率、使用先后上的差别这就有可能造成初次接触插槽的开发者容易产生“算了吧回头再学反正已经可以写基础组件了”的想法于是就关闭了vue的说明文档。 实际上插槽的概念很简单下面通过分三部分来讲。这三部分也是按照vue说明文档的顺序来写的。 进入这三部分之前先让还没接触过插槽的同学对什么是插槽有一个简单的概念插槽也就是slot是组件的一块HTML模板这块模板显示不显示、以及怎样显示由父组件来决定。 实际上一个slot最核心的两个问题在这里就点出来了是显示不显示和怎样显示。 由于插槽是一块模板所以对于任何一个组件从模板种类的角度来分其实都可以分为非插槽模板和插槽模板两大类。 非插槽模板指的是html模板比如‘div、span、ul、table’这些非插槽模板的显示与隐藏以及怎样显示由组件自身控制插槽模板是slot它是一个空壳子因为它的显示与隐藏以及最后用什么样的html模板显示由父组件控制。但是插槽显示的位置却由子组件自身决定slot写在组件template的什么位置父组件传过来的模板将来就显示在什么位置。 单个插槽 | 默认插槽 | 匿名插槽 首先是单个插槽单个插槽是vue的官方叫法但是其实也可以叫它默认插槽或者与具名插槽相对我们可以叫它匿名插槽。因为它不用设置name属性。 单个插槽可以放置在组件的任意位置但是就像它的名字一样一个组件中只能有一个该类插槽。相对应的具名插槽就可以有很多个只要名字name属性不同就可以了。 下面通过一个例子来展示。 父组件 templatediv classfatherh3这里是父组件/h3childdiv classtmplspan菜单1/spanspan菜单2/spanspan菜单3/spanspan菜单4/spanspan菜单5/spanspan菜单6/span/div/child/div /template子组件 templatediv classchildh3这里是子组件/h3slot/slot/div /template在这个例子里因为父组件在里面写了html模板那么子组件的匿名插槽这块模板就是下面这样。也就是说子组件的匿名插槽被使用了是被下面这块模板使用了。 div classtmplspan菜单1/spanspan菜单2/spanspan菜单3/spanspan菜单4/spanspan菜单5/spanspan菜单6/span /div最终的渲染结果如图所示 figcaption styledisplay: block; text-align: center; font-size: 1rem; line-height: 1.6; color: rgb(144, 144, 144); margin-top: 2px;/figcaption 注所有demo都加了样式以方便观察。其中父组件以灰色背景填充子组件都以浅蓝色填充。具名插槽 匿名插槽没有name属性所以是匿名插槽那么插槽加了name属性就变成了具名插槽。具名插槽可以在一个组件中出现N次出现在不同的位置。下面的例子就是一个有两个具名插槽和单个插槽的组件这三个插槽被父组件用同一套css样式显示了出来不同的是内容上略有区别。 父组件 templatediv classfatherh3这里是父组件/h3childdiv classtmpl slotupspan菜单1/spanspan菜单2/spanspan菜单3/spanspan菜单4/spanspan菜单5/spanspan菜单6/span/divdiv classtmpl slotdownspan菜单-1/spanspan菜单-2/spanspan菜单-3/spanspan菜单-4/spanspan菜单-5/spanspan菜单-6/span/divdiv classtmplspan菜单-1/spanspan菜单-2/spanspan菜单-3/spanspan菜单-4/spanspan菜单-5/spanspan菜单-6/span/div/child/div /template子组件 templatediv classchild// 具名插槽slot nameup/sloth3这里是子组件/h3// 具名插槽slot namedown/slot// 匿名插槽slot/slot/div /template显示结果如图 figcaption styledisplay: block; text-align: center; font-size: 1rem; line-height: 1.6; color: rgb(144, 144, 144); margin-top: 2px;/figcaption可以看到父组件通过html模板上的slot属性关联具名插槽。没有slot属性的html模板默认关联匿名插槽。 ** 作用域插槽 | 带数据的插槽 ** 最后就是我们的作用域插槽。这个稍微难理解一点。官方叫它作用域插槽实际上对比前面两种插槽我们可以叫它带数据的插槽。什么意思呢就是前面两种都是在组件的template里面写 匿名插槽 slot/slot 具名插槽 slot nameup/slot但是作用域插槽要求在slot上面绑定数据。也就是你得写成大概下面这个样子。 slot nameup :datadata/slotexport default {data: function(){return {data: [zhangsan,lisi,wanwu,zhaoliu,tianqi,xiaoba]}}, }我们前面说了插槽最后显示不显示是看父组件有没有在child下面写模板像下面那样。 childhtml模板 /child写了插槽就总得在浏览器上显示点东西东西就是html该有的模样没写插槽就是空壳子啥都没有。 OK我们说有html模板的情况就是父组件会往子组件插模板的情况那到底插一套什么样的样式呢这由父组件的htmlcss共同决定但是这套样式里面的内容呢 正因为作用域插槽绑定了一套数据父组件可以拿来用。于是情况就变成了这样样式父组件说了算但内容可以显示子组件插槽绑定的。我自己是在父组件的html上定义类名class div classtmpl slotup然后再子组件内直接拿到 .tmpl 设置样式 我们再来对比作用域插槽跟单个插槽和具名插槽的区别因为单个插槽和具名插槽不绑定数据所以父组件提供的模板一般要既包括样式又包括内容上面的例子中你看到的文字“菜单1”“菜单2”都是父组件自己提供的内容而作用域插槽父组件只需要提供一套样式在确实用作用域插槽绑定的数据的前提下。 下面的例子你就能看到父组件提供了三种样式(分别是flex、ul、直接显示)都没有提供数据数据使用的都是子组件插槽自己绑定的那个数组一堆人名的那个数组。 父组件 templatediv classfatherh3这里是父组件/h3!--第一次使用用flex展示数据--childtemplate slot-scopeuserdiv classtmplspan v-foritem in user.data{{item}}/span/div/template/child!--第二次使用用列表展示数据--childtemplate slot-scopeuserulli v-foritem in user.data{{item}}/li/ul/template/child!--第三次使用直接显示数据--childtemplate slot-scopeuser{{user.data}}/template/child!--第四次使用不使用其提供的数据, 作用域插槽退变成匿名插槽--child我就是模板/child/div /template子组件 templatediv classchildh3这里是子组件/h3// 作用域插槽slot :datadata/slot/div /templateexport default {data: function(){return {data: [zhangsan,lisi,wanwu,zhaoliu,tianqi,xiaoba]}} }结果如图所示 原博出处 作者SentMes 链接SentMes作者书写的作用于插槽链接 来源简书
http://wiki.neutronadmin.com/news/480501/

相关文章:

  • 做一个网站多少费用wordpress自定义文章类型输出数量
  • 动完网站设计网站平面图用什么软件做
  • 优化网站性能监测自己怎么做网站链接
  • 网站游戏下载建设网站优点
  • 建设银行官网网站首页纪念币预约h5美食制作网站模板下载
  • 长沙公司网站费用万网企业邮箱登录入口
  • 深圳市做网站有哪些公司北京科技公司10强
  • 做网站具体步骤广告业网站开发
  • 通过网站做跳板网站维护要多久时间
  • 完成网站建设的心得体会河南建设集团
  • 帮朋友做网站不给钱seo网站计划书
  • 家居网站建设公司排名杭州网站建设hzyze
  • python node 网站开发建设电商平台方案
  • 滁州网站建设hi444湖州网站集约化平台
  • 利用php做网站可做区域代理的网站
  • 企业网站建设方案撰写赣州今天招工信息赣州人才网
  • 天元建设集团有限公司第一建筑工程公司seo好的外贸网站
  • 多种专业网站建设个人网站空间一般多大
  • thinkphp做网站快吗内网网站建设方案
  • 辽宁做网站网站做推广团队
  • 免费开源网站系统有哪些wordpress修改首页模板文件
  • 外国优秀设计网站推荐sketch wordpress 主题
  • 怎么在云主机上做网站可以做翻译任务的网站
  • 河南安阳网站建设wordpress子插件
  • 中交建设集团 网站拼多多刷销量网站开发
  • 如何设计商务网站积极推进在线网站建设
  • 建设项目环境影响评价验收网站深圳网站建设案例
  • 郑州定制网站游戏软件网站开发
  • 网站都有什么语言wordpress 免费采集
  • 网站工程师培训学校做网站商城怎么样