美文网首页vue
vue兄弟组件之间的传参

vue兄弟组件之间的传参

作者: 无名侠女 | 来源:发表于2018-08-16 17:54 被阅读82次

问题描述

使用vue以来,一直都没有考虑过兄弟组件之间的通信,那么问题来了,兄弟组件之间如何传递数据了? 问题描述.png

准备工作

使用vue-cli构建项目

vue-cli构建工具.png

生成的目录结构

生成的目录结构.png

例子的其他功能不做描述,只对兄弟组件这部分做分析

使用eventBus解决问题

eventBus的核心理论我也不太清楚。这里对如何使用做下说明
1.创建一个空Vue对象

import Vue from 'vue';
export default new Vue();

2.$emit自定义事件

<input type="text" v-model="todoList">
<button class="add" @click='addList'>增加</button>
    data(){
        return {
            todoList:''
        }
    },
    methods:{
        addList:function(){
            eventBus.$emit('add',this.todoList)
        }
    }

3.$on接收事件

    created:function(){
        this.acceptList()
    },
    methods:{
        acceptList:function(){
            eventBus.$on('add',(message)=>{
                this.lists.push({ name:message,isFinish:false })
            })
        }
    }

使用vuex解决问题

创建store对象

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

var store=new Vuex.Store({
    //存储状态
    state:{
        lists:[
            { name:'数学作业',isFinish:false },
            { name:'语文作业',isFinish:false },
            { name:'化学作业',isFinish:false },
            { name:'物理作业',isFinish:false }
        ]
    },
    //显示的更改state
    mutation:{},
    //过滤state中的数据
    getters:{},
    //异步操作
    actions:{}
});

export default store;

在组建中引入并使用

在组件1中

<input type="text" v-model="todoList">
<button class="add" @click='addList'>增加</button>
    data(){
        return {
            todoList:''
        }
    },
    store:store,
    methods:{
        addList:function(){
            this.$store.state.lists.push({name:this.todoList,isFinish:false})
        }
    }

在组件2中

    computed:{
        lists:function(){
            return this.$store.state.lists
        }
    },

相关文章

  • vue组件之间通信

    vue父组件给子组件传参使用props子组件给父组件传参使用时间派发$dispatch兄弟组件之间传递参数使用vuex

  • Vuex 模块化实现待办事项的状态管理

    前言 在vue里,组件之间的作用域是独立的,父组件跟子组件之间的通讯可以通过prop属性来传参,但是在兄弟组件之间...

  • Vue兄弟组件通信(VueX)

    在vue里,组件之间的作用域是独立的,父组件跟子组件之间的通讯可以通过prop属性来传参,但是在兄弟组件之间通讯就...

  • vue兄弟组件之间的传参

    问题描述 准备工作 使用vue-cli构建项目 生成的目录结构 例子的其他功能不做描述,只对兄弟组件这部分做分析 ...

  • Vue组件之间的传值

    Vue父子组件之间的传值(props)兄弟组件 VUEX

  • vue组件传参问题

    在vue项目中会经常遇到组件传参问题,今天就来了解一下父子组件和兄弟组件传参 父组件传值给子组件 *父组件通过 ...

  • eventbus事件总线

    经常听说组件之间传参有一种方式是eventbus,常用于兄弟组件之间传参。但是我发现不只是兄弟之间可以用呀,为什么...

  • SSM单体架构项目 (下)

    Vue 组件 组件导入 组件传参 props 组件传参,父组件向子组件传参 分页 引入分页组件

  • Uniapp兄弟组件传值

    兄弟组件a.vue和b.vue之间的传值方式 a.vue b.vue

  • vue的父子传值和使用vuex兄弟传值

    在父组件中引入子组件 父传子 父组件 子组件 子传父 子组件 父组件 兄弟传值 兄弟之间可以通过vue官网的方法,...

网友评论

    本文标题:vue兄弟组件之间的传参

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