Vue系列教程-26-component-组件化-solt-作用域插槽

作用域插槽:有时让插槽内容能够访问子组件中才有的数据是很有用的
 

我是分割线


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 父组件替换插槽的标签,但内容由子组件提供-->
    <template id="son">
        <div>
            <slot :data="languages" name="myslot">
                <ul>
                    <li v-for="item in languages">{{item}}</li>
                </ul>
            </slot>
        </div>
    </template>

    <div id="app">
        <!--默认-->
        <son></son>
        <!--横排列-->
        <son>
            <!-- v-slot:指定slot='别名' 通过别名获取子组件数据-->
            <template v-slot:myslot="slot">
                <span v-for="item in slot.data">{{item + "----"}}</span>
            </template>
        </son>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        const son = {
            template: '#son',
            data() {
                return {
                    languages:['java','python','js','c++']
                }
            },
        };

        var app = new Vue({
            el: '#app',
            data: {
                message: 'Hello Vue!',
            },
            components: {
                son
            },
        });
    </script>
</body>
</html>

我是分割线




    Title
点赞

发表评论