vue作用域插槽完整例子(vue插槽使用场景)

<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><title>作用域插槽具有代表性的实例</title></head><body><divid=”mylist”&g…

大家好,又见面了,我是你们的朋友全栈君。

vue作用域插槽完整例子(vue插槽使用场景)
vue作用域插槽完整例子(vue插槽使用场景)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>作用域插槽具有代表性的实例</title>
</head>
<body>
<div id="mylist">
    <my-awesome-list :items="items">
        <template slot="item11" scope="props1">
            <li class="my-fancy-item">
                {
     
     {props1.text}}
            </li>
        </template>
    </my-awesome-list>
</div>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script>
    var child={
            props:["items"],
            template:'\
            <ul>\
               <slot name="item11"\
                     v-for="item in items"\
                     :text="item.text">\
               </slot>\
            </ul>\
        '
    };
    new Vue({
        el:"#mylist",
        data:{
            items:[
                {text:'这是作用域插槽具有代表性的实例'},
                {text:'这是作用域插槽具有代表性的实例2'},
                {text:'这是作用域插槽具有代表性的实例3'}
            ]
        },
        components:{
            'my-awesome-list':child
        }
    })

    /*分析

    子组件:
     <ul>\
         <slot name="item11"\-----------------具名slot 给父组件替换的地方
             v-for="item in items"\---取出其中的一个item
             :text="item.text">\    ---props1:作用域插槽,传递给父组件,
         </slot>\
     </ul>\

    父组件:
     <my-awesome-list :items="items">-----------------通过props属性传递items数据给子组件
         <template slot="item11" scope="props1">------------item11:具名slot 替换子组件的数据,---props1:作用域插槽,子组件传来,
             <li class="my-fancy-item">
                 {
     
     {props1.text}}
             </li>
         </template>
     </my-awesome-list>

    */
</script>
</body>
</html>

View Code

分析写在注释里了

下面是对比 不用作用域插槽的情况,也就是普通列表渲染

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>作用域插槽具有代表性的实例</title>
</head>
<body>
<div id="mylist">
    <my-awesome-list :items="items">

    </my-awesome-list>
</div>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script>
    var child={
            props:["items"],
            template:'\
            <ul>\
               <slot name="item11"\
                     v-for="item in items"\
                     :text="item.text">\
                    <li> {
    
    {item.text}}</li>\
               </slot>\
            </ul>\
        '
    };
    new Vue({
        el:"#mylist",
        data:{
            items:[
                {text:'这是作用域插槽具有代表性的实例'},
                {text:'这是作用域插槽具有代表性的实例2'},
                {text:'这是作用域插槽具有代表性的实例3'}
            ]
        },
        components:{
            'my-awesome-list':child
        }
    })


</script>
</body>
</html>

  

 

转载于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/6437407.html

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129164.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号