Vue知识点总结(16)——具名插槽(超级详细)

news/2024/7/10 2:35:01 标签: vue, js, html, 前端

上节我们了解了一下插槽概念和用途,并且详细演示了一下匿名插槽的使用
这期我们的任务是具名插槽

从名字我们就可以看出区别,一个是匿名一个是具名

我们就不详细说插槽概念的东西了,直接演示具名插槽

html">   <div id="app">
        <App></App>
    </div>
<script>
    Vue.component('MBtn',{
        template:`
            <button>
                <slot name='login'></slot>
                <slot name='submit'></slot>
                <slot name='register'></slot>
            </button>
        `
    })
    const App = {
        data () {
            return {
                title:'老爹'
            }
        },
        template:`
            <div>
               <MBtn>
                    <template slot='login'>
                        <a href="#">登录</a>
                    </template>
                </MBtn>
               <m-btn>
                    <template slot='register'>
                        注册
                    </template> 
               </m-btn>
               <MBtn>
                    <template slot='submit'>
                        提交
                    </template>
               </MBtn>
            </div>
        `,
    }
    new Vue({
        el:'#app',
        data:{

        },
        components: {
            App
        }
    });
</script>

具名插槽和匿名插槽的区别主要就是slot标签上加了一个name属性

一个不带 name 的 出口会带有隐含的名字“default”。

在示例中,我们和上期一样,写了一个全局组件MBtn,内部分别演示了三个按钮登录、提交、注册,分别写了三个name属性login、submit、register

然后像往常一样,我们写了一个App局部组件。在template模板中,我们调用MBtn组件的同时,在内部插入一个template标签,我们就是在template这个标签上写slot属性slot属性的值就是要使用的插槽的名字

只要匹配到slot标签的name值,template中的内容就会被插入到这个槽中

然后一点,我们注意一下,在MBtn组件上写模板插槽的顺序是login、submit、register。我们在App组件调用的时候顺序是login、register、submit。
那页面渲染出来是什么顺序呢?
在这里插入图片描述
顺序是login、register、submit。

显然页面渲染的顺序是调用时的顺序。
也就是说,我们在写模板插槽的时候,插槽的顺序并不重要,重要的是调用时的顺序。

这个细节还是要注意一下的,我有次在别人的面经上看到过这个问题。

有微信小程序课设、毕设需求联系个人QQ:505417246

关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodehtml" title=js>js、Python等实战学习资料
最新最全的前端知识总结和项目源码都会第一时间发布到微信公众号,请大家多多关注,谢谢!

在这里插入图片描述


http://www.niftyadmin.cn/n/1576585.html

相关文章

《用Python写网络爬虫》——1.4 编写第一个网络爬虫

本节书摘来自异步社区《用Python写网络爬虫》一书中的第1章&#xff0c;第1.4节&#xff0c;作者 [澳]Richard Lawson&#xff08;理查德 劳森&#xff09;&#xff0c;李斌 译&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.4 编写第一个网络爬虫 为了抓…

Vue知识点总结(17)——作用域插槽(超级详细)

之前分别了解了匿名插槽和具名插槽。 这期我们的任务是作用域插槽。 作用域插槽虽然用的不多&#xff0c;但是还是挺重要的。 我们以一个实际需求来展示作用域插槽&#xff0c;因为作用域插槽用的确实不多&#xff0c;只能在实际需求中展示它的意义。 需求&#xff1a; 已经…

《R语言数据挖掘:实用项目解析》——第1章,第1.3节数据类型转换

本节书摘来自华章出版社《R语言数据挖掘&#xff1a;实用项目解析》一书中的第1章&#xff0c;第1.3节数据类型转换&#xff0c;作者&#xff3b;印度&#xff3d;普拉迪帕塔米什拉&#xff08;Pradeepta Mishra&#xff09;&#xff0c;更多章节内容可以访问云栖社区“华章计算…

Vue知识点总结(18)——生命周期(超级详细)

码字不易&#xff0c;有帮助的同学希望能关注一下我的微信公众号&#xff1a;Code程序人生&#xff0c;感谢&#xff01; 这期的主题是Vue的生命周期。 先说一下什么是生命周期。 百度百科上是这样说的&#xff1a; 生命周期就是指一个对象的生老病死。 我们每个人都会经历生老…

《TCP/IP路由技术(第二卷)》一1.3 EGP的不足

本节书摘来自异步社区《TCP/IP路由技术&#xff08;第二卷&#xff09;》一书中的第1章&#xff0c;第1.3节&#xff0c;作者【美】Jeff Doyle&#xff0c;CCIE #1919 , Jennifer DeHaven Carroll , 更多章节内容可以访问云栖社区“异步社区”公众号查看 1.3 EGP的不足 TCP/IP路…

微信小程序如何实现转发/分享功能

在微信小程序的开发中&#xff0c;我们经常遇到把当前页面转发给好友的需求。并且大部分时候&#xff0c;转发的页面都是带参数的。这里面坑还是比较多的。 <button open-type"share" type"primary">分享给好友</button>首先我们先写一个butto…

oracle安装登录sqlplus / as sysdba然后报错ERROR: ORA-01031 insufficient privileges

解决办法&#xff1a; 一般情况下检查操作系统的登录用户是否包含在ORA_DBA组中。 控制面板->管理工具->计算机管理->系统工具->本地用户和组->ORA_DBA组。 如果ORA_DBA组中没有系统登录用户添加上即可。 但我的操作系统版本是没有--本地用户和组--这个选项&…

《计算复杂性:现代方法》——习题

本节书摘来自华章计算机《计算复杂性&#xff1a;现代方法》一书中的第2章&#xff0c;习题&#xff0c;作者 &#xff3b;美&#xff3d;桑杰夫阿罗拉&#xff08;Sanjeev Arora&#xff09;&#xff0c;博阿兹巴拉克&#xff08;Boaz Barak&#xff09;&#xff0c;译 骆吉洲…