详细解释Vue匿名、命名和限定范围的槽的使用
Vue中的插槽非常重要,在开发组件的过程中很容易使用。Vue的槽并不难用。本文简要介绍了三种插槽的用法。
匿名槽
子组件定义了一个插槽插槽,但是没有命名,所以也可以说是默认插槽。只要在父元素中插入的内容在默认情况下被添加到该槽中。
模板div hello slot陌生人/slot/div/模板这里定义了一个默认的slot,只要你往里面扔东西,它就会被添加到这个slot中
一系列备份内容可以添加到slot元素中。一旦父元素没有插入任何信息,将呈现备份内容。
My-comp oli/my-comp如果在父组件中使用此子组件并插入oli字符串,效果如下:
命名槽
命名槽可以出现在不同的地方,出现的次数没有限制。只要名字匹配,这些内容就会被插入这个名字的槽中。
模板div槽名=' nav '/slot br/slot name=' content '/slot br/slot name=' footer '/slot/div/template例如,上面的代码定义了三个命名槽。您可以将插槽属性插入到父组件的相应插槽中:
模板div my-comp模板槽=' nav ' navigator/模板模板槽=' footer ' footer/模板模板槽=' content ' content/template/my-comp/Div/template另外,顺序也不重要。内容位于页脚下方,但仍可以按照插槽定义的顺序呈现:
范围槽
通常,一个普通的插槽是这样的,其中插槽的内容由父组件使用该插槽时的内容决定。但是有时候我们需要得到一些子组件提供的数据,所以作用域槽会派上用场。
在子组件中创建一个槽,并以v-bind绑定数据载体的形式传入数据:
插槽: data=' data '/插槽
在组件数据中创建数据:
导出默认的{ name: ' mycomp ',data(){ return { data : {//内部状态username: 'oli'}} }}以便可以在插槽中访问子元素的数据:
模板v-slot:默认值='用户“{user。data.username}}/template可以在没有default关键字的情况下编写,并且默认假定对应于默认插槽
模板v-slot='用户“{user。data.username}}/template使用v-slot来绑定命名空间用户,这样传递到子组件的数据就可以通过user对象进行引用
当与命名槽匹配时,您需要显式地编写相应的命名空间:
模板# : one=' user ' { user . data . username } }/模板模板# : other=' user ' { user . data . username } }/模板#代表v-slot的缩写,只有存在参数时才会生效。
此外,vue 2.6版本还增加了动态槽名功能,用于动态定义槽名:
模板# :[dynamicSlotName]/模板https://cn.vuejs.org/v2/guide.
PS:Vue示波器插槽使用示例的详细说明
这次,我将向您详细解释Vue范围的插槽的使用。使用Vue范围的插槽有哪些注意事项?下面是一些实战案例。
比如我写了一个可以实现条带的列表组件。发布后,用户可以自定义每一行的内容或样式(普通槽可以完成这项工作)。作用域槽的关键点是父组件可以从子组件的槽中接收参数,这取决于案例和注释。
!DOCTYPE html html html lang=' en ' head metachartset=' UTF-8 ' title vue作用域插槽/title脚本src=' http :https://cdn。bootscs。com/vue/2。3 .4/vue。js '/script/head body PID=' app 2 ' my-stripe-list : items=' users ' odd-bgcolor=' # d3d ce 6 '偶数-bgcolor=' # e5e 9 F2 '!道具对象接收来自子组件狭槽的$索引参数-模板槽=' cont '作用域=' props ' span { { users[props .$index].id}}/span span{{users[props .$index].name { }/span span { { users[props .$index].年龄}}/span!-这里可以自定[编辑][删除]按钮的链接和样式- a:href=''#edit/id/'用户[道具$index].id'rel='external nofollow '编辑/a a:href=''#del/id/'用户[道具$index].id'rel='external nofollow '删除/a/模板/我的条带列表/p脚本Vue.component('我的条带列表',{ /*slot的$索引可以传递到父组件中*/模板: ' p PV-for='(项目,索引)在项目'样式='行高:2.2中;' :style='索引% 2===0?后台: ' oddbcolor : '后台: ' evenbcolor '插槽名称=' cont ' : $ index=' index '/slot/p/p `,props: { items: Array,oddBgcolor: String,evenbcolor : String } });new Vue({ el: '#app2 ',数据: { user : [{ id : 1,name: '张三,年龄: 20},{id: 2,姓名: '李四,年龄: 22},{id: 3,姓名: '王五,年龄: 27},{id: 4,姓名: '张龙,年龄: 27},{id: 5,姓名: '赵虎,年龄: 27 }]});/脚本/正文/html总结
以上所述是小编给大家介绍的某视频剪辑软件匿名、具名和作用域插槽的使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
版权声明:详细解释Vue匿名、命名和限定范围的槽的使用是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。