Vue 中的作用域插槽
栏目: JavaScript · 发布时间: 7年前
内容简介:上面代码,如果此时有个需:
作用域插槽
<div id="root">
<child></child>
</div>
Vue.component('child', {
data(){
return {
list:[1,2,3,4]
}
},
template: `<div>
<ul>
<li v-for="item of list">{{item}}</li>
</ul>
</div>`,
})
let vm = new Vue({
el: '#root'
})
上面代码,如果此时有个需: child
组件在很多地方会被调用,我希望在不同的地方调用 child
的组件时,这个列表到底怎么循环,列表的样式不是 child
组件控制的,而是外部 child
模版站位符告诉我们组件的每一项该如何渲染,也就是说这里不用 li
标签,而是要用 slot
标签。
<div id="root">
<child>
<template slot-scope="props"> //固定写法,属性值可以自定义
<li>{{props.item}}</li> //用插值表达式就可以直接使用
</template>
</child>
</div>
Vue.component('child', {
data(){
return {
list:[1,2,3,4]
}
},
template: `<div>
<ul>
<slot v-for="item of list" :item=item></slot>
</ul>
</div>`,
})
let vm = new Vue({
el: '#root'
})
<slot v-for="item of list" :item=item></slot>
这段代码的意思是 child
组件去做一个列表的循环,但是列表项中的每一项怎么显示,我并不关心,具体怎么显示,外部你来告诉我.
<template slot-scope="props"></template>
这是一个固定写法,属性值可以自定义。它的意思是当子组件用 slot
时,会往子组件里传递一个 item
,从子组件接收的数据都放在了 props
上。
什么时候使用作用域插槽呢?当子组件循环或某一部分的 dom
结构应该由外部传递进来的时候,我们要用作用域插槽,使用作用域插槽,子组件可以向父组件的作用域插槽里传递数据,父组件如果想接收这个数据,必须在外层使用 template
模版占位符,同时通过 slot-scope
对应的属性名字,来接收你传递过来的数据,上面代码,传递一个一个 item
过来,在父组件的作用域插槽里面,就可以接收到这个 item
,就可以使用它了。
以上所述就是小编给大家介绍的《Vue 中的作用域插槽》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
离散数学及其应用(原书第6版·本科教学版)
[美] Kenneth H. Rosen / 袁崇义、屈婉玲、张桂芸 / 机械工业出版社 / 2011-11 / 49.00元
《离散数学及其应用》一书是介绍离散数学理论和方法的经典教材,已经成为采用率最高的离散数学教材,仅在美国就被600多所高校用作教材,并获得了极大的成功。第6版在前5版的基础上做了大量的改进,使其成为更有效的教学工具。 本书基于该书第6版进行改编,保留了国内离散数学课程涉及的基本内容,更加适合作为国内高校计算机及相关专业本科生的离散数学课程教材。本书的具体改编情况如下: · 补充了关于范式......一起来看看 《离散数学及其应用(原书第6版·本科教学版)》 这本书的介绍吧!