了解一下Vue中的插槽

了解一下Vue中的插槽

Vue插槽,是学习vue中必不可少的一节,当初刚接触vue的时候,对这些掌握的一知半解,特别是作用域插槽一直没明白。

后面越来越发现插槽的好用。

分享一下插槽的一些知识吧。

一、插槽内容

立即学习“前端免费学习笔记(深入)”;

一句话:插槽内可以是任意内容。

先看一下下面的代码:声明一个child-component组件,

如果现在我想在内放置一些内容,结果会是怎样?

    
Vue.component('child-component',{ template:`
Hello,World! ` }) let vm = new Vue({ el:'#app', data:{ } })

登录后复制

你好

登录后复制

 输出内容还是在组件中的内容,在 内写的内容没起作用。

1.png

我们现在给组件增加一个插槽

我们在内写的”你好”起作用了!!!

Vue.component('child-component',{        template:`            
            Hello,World!                        
        `    })

登录后复制

2.png

到现在,我们知道了什么是插槽: 

插槽就是Vue实现的一套内容分发的API,将元素作为承载分发内容的出口。

这句话的意思就是,没有插槽的情况下在组件标签内些一些内容是不起任何作用的,当我在组件中声明了slot元素后,在组件元素内写的内容就会跑到它这里了!

二、具名插槽

具名插槽,就是给这个插槽起个名字

在组件中,我给插槽起个名字,一个名字叫”girl”,一个名字叫”boy”,还有一个不起名字。

然后再内,slot属性对应的内容都会和组件中name一一对应。

而没有名字的,就是默认插槽!!

                        漂亮、美丽、购物、逛街                            帅气、才实                
            我是一类人,            我是默认的插槽        
    
Vue.component('child-component',{ template:`

这个世界不仅有男人和女人
` }) let vm = new Vue({ el:'#app', data:{ } })

登录后复制

3、作用域插槽

之前一直没搞懂作用域插槽到底是什么!!!

说白了就是我在组件上的属性,可以在组件元素内使用!

先看一个最简单的例子!!

我们给元素上定义一个属性say(随便定义的!),接下来在使用组件child,然后在template元素上添加属性slot-scope!!随便起个名字a

我们把a打印一下发现是 {“say” : “你好”},也就是slot上面的属性和值组成的键值对!!!

这就是作用域插槽!

我可以把组件上的属性/值,在组件元素上使用!!

                              {{a}}            
Vue.component('child',{ template:`
` }) let vm = new Vue({ el:'#app', data:{ } })

登录后复制

再看一下下面的例子:

                        {{a}}            
Vue.component('child',{ props:['lists'], template:`
  • ` }) let vm = new Vue({ el:'#app', data:{ nameList:[ {id:1,name:'孙悟空'}, {id:2,name:'猪八戒'}, {id:3,name:'沙和尚'}, {id:4,name:'唐僧'}, {id:5,name:'小白龙'}, ] } })

登录后复制

看一下输出结果

3.png

相关推荐:2020年前端vue面试题大汇总(附答案)vue教程推荐:2020最新的5个vue.js视频教程精选

更多编程相关知识,请访问:编程入门!!

以上就是了解一下Vue中的插槽的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3023134.html

(0)
上一篇 2025年3月13日 06:03:56
下一篇 2025年3月13日 06:04:05

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 详解Vue中的无渲染行为插槽

    在本文中我们讨论 Vue 中的无渲染插槽模式能够帮助解决哪些问题。 在 Vue.js 2.3.0 中引入的作用域插槽显著提高了组件的可重用性。无渲染组件模式应运而生,解决了提供可重用行为和可插入表示的问题。 在这里,我们将会看到如何解决相反…

    2025年3月13日
    000
  • vue如何实现一个电子签名组件?

    在生活中我们使用到电子签名最多的地方可能就是银行了,每次都会让你留下大名。今天我们就要用vue实现一个电子签名的面板 想要绘制图形,第一步想到的就是使用canvas标签,在之前的文章里我们使用canvas实现了一个前端生成图形验证码的组件,…

    2025年3月13日
    200
  • 深入了解Vue自带的过滤器

    过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数。Vue有很多很便利的过滤器,本文为大家介绍了vue自带的9种过滤器,希望对大家有一定的帮助。 一、过滤器写法 {{ message | Filter}} 登录后复…

    2025年3月13日
    200
  • vue如何实现局部刷新?(代码示例)

    我们都知道,vue的组件化是他最强大的核心所在,路由也是特别可爱的一部分,但是路由适合一些大型的组件,看url路径的时候会出现变化,但是有时候我们想要一些小的局部小刷新,这个时候就需要用到它的动态组件了。 Vue 自身保留的  元素,可以将…

    2025年3月13日
    200
  • 详解vue中的数据初始化(initState)

    下面vue.js教程栏目带大家了解一下vue中的数据初始化(initstate)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 数据初始化 Vue 实例在建立的时候会运行一系列的初始化操作,而在这些初始化操作里面,和数据…

    2025年3月13日
    200
  • 深入了解vue中的计算属性

    下面vue.js教程栏目带大家了解一下vue中的计算属性。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 一、什么是计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且…

    2025年3月13日
    200
  • 浅谈vue中axios的封装

    下面vue.js教程栏目带大家了解一下vue中axios的封装。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 vue中axios的封装 第一步还是先下载axios cnpm install axios -S 登录后复制 …

    2025年3月13日
    200
  • vue如何动态绑定class?方法介绍

    Vue.js 的核心是一个响应的数据绑定系统,它允许我们在普通 HTML 模板中使用特殊的语法将 DOM “绑定”到底层数据。 被绑定的DOM 将与数据保持同步,每当数据有改动,相应的DOM视图也会更新。基于这种特性,通过vue.js动态绑…

    2025年3月13日
    200
  • 详解Vue中动态添加类名的方法

    能够向组件添加动态类名是非常强大的功能。它使我们可以更轻松地编写自定义主题,根据组件的状态添加类,还可以编写依赖于样式的组件的不同变体。 添加动态类名与在组件中添加 prop :class=”classname”一样…

    2025年3月13日
    200
  • vue中递归组件的实现方法介绍(附实例:三级菜单)

    下面vue.js教程栏目通过实例制作一个三级菜单,来介绍vue中递归组件的实现方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 js里面有递归算法,同时,我们也可以利用props来实现vue模板的递归调用,但是前提是组…

    2025年3月13日
    200

发表回复

登录后才能评论