详解Vue.js作用域、slot用法(单个slot、具名slot)
作用域
成都创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
在介绍slot前,需要先知道一个概念:编译的作用域。比如父组件中有如下模板:
{{message}}
这里的message就是一个slot,但是它绑定的是父组件的数据,而不是组件< child-component >
的数据。
父组件模板的内容是在父组件作用域内编译,子组件模板的内容是在子组件作用域内编译。
这里的状态showChild绑定的是父组件的数据,如果想在子组件上绑定,那应该是:
因此,slot分发的内容,作用域是在父组件上的。
slot用法
单个slot:
在子组件使用特殊的< slot >元素就可以为这个子组件开启一个 slot(插槽),在父组件模板里,插入在子组件标签内的所有内容将替代子组件的< slot >标签及它的内容。
单个slot 分发的内容
更多分发的内容
子组件child-component的模板内定义了一个< slot >元素,并且用一个< p >作为默认的内容,在父组件没有使用slot时,会渲染这段默认的文本;如果写入了slot,那就会替代整个< slot >标签。
上面示例渲染后的结果为:
分发的内容
更多分发的内容
注意:子组件< slot >内的为备用内容,它的作用域是子组件本身。
具名slot:
给< slot >元素指定一个name后可以分发多个内容,具名slot可以与单个slot共存。
标题
正文内容
更多的正文内容
底部信息
子组件内声明了3个< slot >元素,其中在< div class=“main” > 内的 < slot >没有使用name特性,它将作为默认slot出现,父组件没有使用slot特性的元素与内容都将出现在这里。
如果没有制定默认的匿名slot,父组件内多于的内容片断都将被抛弃。
渲染结果:
标题
正文内容
更多的正文内容
总结
以上所述是小编给大家介绍的Vue.js 作用域、slot用法(单个slot、具名slot),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
文章标题:详解Vue.js作用域、slot用法(单个slot、具名slot)
文章转载:http://scyanting.com/article/jdcjgd.html