郁闷吧 微信小程序 4188479 63242849 39070147 130690866
还没有任何记录...

懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

懒人建站提供网页素材下载、网站模板
这一切都是免费的!
当前位置:懒人建站 > javascript教程 >

vue slot的scope传递

来源:云计算 作者: 懒人建站 日期:2017-09-21 人气:
vue slot的scope传递,要表述的意思组件中slot这个插槽上可以赋值各种属性,在调用组件的页面中可以使用template scope="props"来获取插槽上的属性值,获取到的值是一个对象

vue slot的scope传递,暂时这么称呼这个标题,要表述的意思组件中slot这个插槽上可以赋值各种属性,在调用组件的页面中可以使用<template scope="props"> 来获取插槽上的属性值,获取到的值是一个对象。

我们来看个demo

页面中调用list组件,这里不需要关注组件到底是怎么写的,数据到底是啥,只要关注 <template scope="scope"> 以及数据调用情况{{scope.row.name}},
<list :data="listData" class="img-list">
        <template scope="scope">
            <div class="info">
                <p>数据:{{scope}}</p>
                <p>索引:{{scope.$index}}</p>
                <p>姓名:{{scope.row.name}}</p>
                <p>性别:{{scope.row.sex}}</p>
            </div>
        </template>
</list>
list组件中的slot是这样子的:
<ul>
<li v-for="(item,i) in data">
   <slot :row="item" :$index="i"></slot>
</li>
</ul>
注意:<slot :row="item" :$index="i"></slot> 这里的属性在上面list组件调用的时候就会打印出一个对象{ "row": { "name": "张三", "sex": "男" }, "$index": 0 }对比这个对象就明白上面调用是咋回事了。
vue slot的scope传递这种东西有啥用?
就是在那种传入结构不确定,会经常变得情况是非常好用的。

vue slot的scope传递组件嵌套也是可以传递的

比如可以把上面的list组件中再引入一个子组件
<ul>
<list-item v-for="(item,i) in data">
   <slot :row="item" :$index="i">00</slot>
</list-item>
</ul>
不过要记住:list组件里面和调用list组件的页面中都要引入list-item子组件,否则报错。

vue slot的scope传递值是父作用域中的源数据改变,值会同步改变


本文链接:vue slot的scope传递http://www.51xuediannao.com/javascript/vue_slot_scope.html

vue slot的scope传递由懒人建站收集整理,您可以自由传播,请主动带上本文链接

懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。

(责任编辑:懒人建站)