vue 作用域插槽和插槽 prop - 2021-04-11

下面这个例子主要是为了体现 user 和 user1在各处的对应关系

<div id="app14">
        <current-user :user1="currentUser">
            <template v-slot:default="slotProps">
                welcome {{slotProps.user.lastName}} !
            </template>
        </current-user>
    </div>
Vue.component('current-user', {
            props: ['user1'],
            template: `
            <span >
                <slot name="default" :user="user1">
                    {{user1.firstName}} 欢迎登陆
                </slot>
            </span>
            `
        });

        var app14 = new Vue({
            el: '#app14',
            data: {
                currentUser: {
                    firstName: '名',
                    lastName: '姓'
                }
            }
        });

最终结果

welcome 姓 !

另外
各种html部分的简写/变化语法如下:

<!--使用解构-->
<div id="app14">
        <current-user :user1="currentUser">
            <template v-slot:default="{user}">
                welcome {{user.lastName}} !
            </template>
        </current-user>
    </div>
<!--由于使用的是默认模板,去掉了template,直接将属性放到根元素上-->
<div id="app14">
        <current-user :user1="currentUser" v-slot:default="{user}">
                welcome {{user.lastName}} !
        </current-user>
    </div>


<div id="app14">
<current-user :user1="currentUser" v-slot:default="{user:u}">
welcome {{u.lastName}} !
</current-user>
</div>

```html
<div id="app14">
        <current-user :user1="currentUser" #default="{user:u}">
                welcome {{u.lastName}} !
        </current-user>
    </div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容