美文网首页让前端飞前端开发笔记
vue 组件之scope 属性,组件如何给插槽传数据

vue 组件之scope 属性,组件如何给插槽传数据

作者: 一笑解qian愁 | 来源:发表于2018-10-24 20:05 被阅读48次

一个组件如何给当做插槽的组件传参?平时我们使用查槽都是这么用的。插槽的直接接受页面的数据。常规用法

<template>
    <div>
        <father-compoent>
      <!--指定将子组件放到父组件中的name=list的slot标签的位置-->
            <child-component slot="list" :data="arr"></child-component>
        </father-compoent>
    </div>
</template>
<script>
export default {
    data(){
        arr:[1,2,3,4]
    },
}
</script>

那么问题来了目前有个需求是需要在页面传入一个数据,在父组件中对数据做一些处理然后再传给子组件中去遍历,怎么做呢?说白了困难点就是在组件中给组件内的插槽传数据。这下就需要用的scope这个属性了
父组件如下

<template>
    <div>
        <father-compoent>
        <!--注意:list字段随意写,但是要和外层使用时一致-->
           <slot name="list" :list="arr"><slot>
        </father-compoent>
    </div>
</template>
<script>
export default {
    data(){
        arr:[1,2,3,4]
    },
    
}
</script>

重点来了

<template>
    <div>
        <father-compoent>
        <!--这里需要用一个templat标签来定义从父组件来接受的参数的名称-->
            <template slot="list" scope="scope">
            <!--注意,scope.xxx这个字段要和父组件内传的字段一致-->
                        <child-component  :data="scope.list" :data2="arr"></child-component>
            </template>
        </father-compoent>
    </div>
</template>
<script>
export default {
    data(){
        arr:[1,2,3,4]
    },
    
}
</script>

子组件中的scope.list就是父组件传过来的数据,而arr就是页面中的数据
就这样通过scope属性来搭桥,插槽位置的组件就可以拿到父组件的数据了,同时子组件同样也可以接受页面上的数据arr,这样大功告成

相关文章

  • vue 组件之scope 属性,组件如何给插槽传数据

    一个组件如何给当做插槽的组件传参?平时我们使用查槽都是这么用的。插槽的直接接受页面的数据。常规用法 那么问题来了目...

  • (25)打鸡儿教你Vue.js

    vue-cli 父组件如何向子组件传值呢?通过属性的形式传值 父组件: 声明 删除 全局样式与局部样式 scope...

  • 2019-01-18 Vue学习

    父组件传数据给子组件(props),子组件传给父组件($emit("触发大的事件”,传的数据)) 插槽(slot)...

  • Vue 学习记录二

    组件化: 动态组件 父子组件 插槽 数据共享(Vuex) Vue Router: 生命周期: Plugin 开发:...

  • Vue组件间数据传递

    前言 总结vue组件间的数据传递 路由传参 父组件传递数据给子组件---props 子组件传递数据给父组件---$...

  • 18、Vue3 作用域插槽

    作用域插槽:让插槽内容能够访问子组件中,vue2中作用域插槽使用slot-scope,vue3中使用v-slot ...

  • Vue组件通信

    1) 父组件给子组件传值 利用Vue的组件机制,父亲组件通过 v-bind指令给子组件绑定一个属性,属性值为父组件...

  • vue(2)

    Vue组件化开发 组件化开发的思想 组件的注册 组件间的数据交互 组件插槽的用法 Vue调试工具的用法 组件开发思...

  • Vue 插槽 & 高复用组件

    # 前言   组件是Vue插槽中最为关键的一个特性之一,而组件的API分三大模块 Props: 允许外环境给组件传...

  • Vue之数据通信

    Vue 如何实现组件通信?①父组件向子组件通信(props:['属性名']) 给父组件中的子组件标签绑定属性,然后...

网友评论

    本文标题:vue 组件之scope 属性,组件如何给插槽传数据

    本文链接:https://www.haomeiwen.com/subject/ceaxtqtx.html