Vue-01-Slot插槽初体验

需知:
Vue是结合angularjs的模块化以及React的集大成者


slot插槽的目的是使得其更符合MVVM架构模式,替代了传统的MVC模式

  • Model:java以及对数据库的操作
  • View:只做视图层
  • View Model:实现双向绑定,动态更新,以达前后端分离


    将代码主要分为:组件,实例对象,前端三个模块
    在这里插入图片描述
    代码块如下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <!--前端视图层:-->
    <sqx>
        <sqx-title slot="sqx-title" v-bind:title="title" ></sqx-title>
        <sqx-items slot="sqx-items" v-for="item in sqxitems" v-bind:items="item"></sqx-items>
    </sqx>
</div>

<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script>
    //组件
    //slot插槽
    Vue.component("sqx",{
        template:
            '<div>\
                <slot name="sqx-title"></slot>\
               <ul>\
                <slot name="sqx-items"></slot>\
               </ul>\
            </div>'
    });
    Vue.component("sqx-title",{
        props: ['title'],
        template:'<div>{{title}}</div>'
    });
    Vue.component("sqx-items",{
        props: ['items'],
        template:'<li>{{items}}</li>'
    });
    //实例对象:存放数据
    var vm =new Vue({
        el:"#app",
        data:{
            title:'我的技术栈',
            sqxitems:['javaWeb','SSM','LayUI']
        },
    });
</script>

</body>
</html>

总结:
结合上图和代码总结:自定义组件将组件中的数据位置设置为slot插槽然后自定义的组件进行拼接形成模板,

前端调用自定义的组件,并且绑定vue的实例对象拿到实例对象当中的数据

组件当中存在props去接受前端的数据,然后动态的传给组件当中对应的位置

posted @ 2022-01-23 20:36  爪洼ing  阅读(40)  评论(0编辑  收藏  举报