vue slot的使用

一、自定义组件中多个 slot

    很久之前就想把表格封装了,奈何那时太过担心自己的技术。今天趁着劲头大致看了一下,把表格封装了,倒是比想象中的要简单很多 O(∩_∩)O 哈哈~ 

    暂且不考虑细节,大致封装表格要考虑的有:是否需要操作按钮、是否要对表格中的某些字段值进行修改或操作。这些就要用到多个 slot,我们要做的就是区分这些 slot,在对应的 slot 下写逻辑。

只有一个 slot 时,我们只需要在组件中想要改写的位置插入  标签就可以了。当有多个时,我们要在 slot 标签中写入 name 属性对 slot 进行区分。例如:

子组件:

标题

段落文字文字文字文字

父组件使用:


  

我是大标题

20121-7-16

 二、slot 传参(利用 slot 子组件给父组件传参)

   1. 插槽传值::自定义属性=值

    如果要封装表格,有很多表格中都是会有一些操作,例如删除某一条数据、修改某条数据,父组件都要从子组件中拿到对应的 id 或者那一列的数据。这里我们只要在子组件的 slot 插槽中绑定一个自定义属性,再把值传给这个属性就好了,例如:

模板中使用:

子组件: 


  
    

父组件:


 循环中使用:

子组件:


       

父组件:


vue slot的使用_第1张图片

2. 通过事件给父组件传值

  这是自定义组件中最常用的一种方法。

子组件:通过 this.$emit() 的方式将值传递给父组件。


 父组件:




                    
                    

你可能感兴趣的:(vue项目问题,vue.js,elementui,javascript)