VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • 第二十二篇:有关插槽solt的使用

1.什么是插槽?

插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot> 表示,

父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的<slot></slot>标签

2.其作用?

感觉是为了使插入更加灵活,用于实现一些特定的功能.

3.props是什么?

也就是props是子组件访问父组件数据的唯一接口。

详细一点解释就是:

组件实例的作用域是孤立的。这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据。

父组件的数据需要通过 prop 才能下发到子组件中。

一个组件可以直接在模板里面渲染data里面的数据(双大括号)。

子组件不能直接在模板里面渲染父元素的数据。

如果子组件想要引用父元素的数据,那么就在prop里面声明一个变量(比如a),这个变量就可以引用父元素的数据。

然后在模板里渲染这个变量(前面的a),这时候渲染出来的就是父元素里面的数据。

 

我把他理解为父子间的接口

 

上代码

<!DOCTYPE html>

复制代码
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--view层,模板-->
<div id="vue">
    <todo>         //插槽绑定todo-titile, ":"冒号后面的是props的title ,这个是数据detitle;就能实现动态绑定然后输出"秦老师系列课程",这真是太麻烦了
        <todo-title slot="todo-title" :title="title"></todo-title>

        <!--<todo-items slot="todo-items" v-for="{item,index} in todoItems" v-bind:item="item"></todo-items>-->
        <!--如下为简写-->
        <todo-items slot="todo-items" v-for="item in todoItems" :item="item"></todo-items
    </todo>
</div>


<!--1.导入Vue.js-->

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<script type="text/javascript">
    Vue.component('todo',{            //定义组件
        template:'<div>\
                <slot name="todo-title"></slot>\
                <ul>\
                    <slot name="todo-items"></slot>\
                </ul>\
            </div>'
    });


    Vue.component('todo-title',{
        props:['title'],      //接口为title
        template:'<div>{{title}}</div>'
    });


    //这里的index,就是数组的下标,使用for循环遍历的时候,可以循环出来!

   Vue.component("todo-items",{
        props:["item","index"],   //接口为item,index
        template:"<li>{{index+1}},{{item}}</li>"
    });


    var vm = new Vue({
        el:"#vue",
        data:{
            title:"秦老师系列课程",
            todoItems:['test1','test2','test3']    //返回数据
        }
    });
</script>
</body>
</html>
复制代码
出处:https://www.cnblogs.com/FatTiger4399/p/15345899.html

相关教程