美文网首页
vue数据传递

vue数据传递

作者: heheheyuanqing | 来源:发表于2018-07-27 11:40 被阅读24次

vue是单向数据流,能够直接将父组件的数据传递给子组件,但是,总会需要其他的数据传递方式

一、父组件向子组件传递数据

父组件

<template>
  <div>
    <h1>I am The Parent</h1>
    <Child v-bind:msg="message"/>
  </div>
</template>

<script>
import Child from './Child';

  export default {
    name:'Parent',
    components: {Child},
    data(){
      return {
        message:'i am in The Child & i am from The Parent'
      }
    }
  }
</script>

子组件

<template>
  <div>
    <h2>I am The Child</h2>
    <ul>
      <li>{{msg}}</li>
    </ul>
    <button v-on:click="change">click to change The data</button>
  </div>
</template>

<script>
  export default {
    name:'Child',
    props:['msg'],
    methods:{
      change(){
        this.msg="the data chenged";
      }
    }
  }
</script>
## 子组件通过props获得父组件传递的数据,其中可以通过this.msg进行获取并,但是建议对props进行修改,vue会进行报错。

二、子组件向父组件进行传递数据

父组件

  <Child v-bind:msg="message" v-on:pass="getData"/>
      …………
   methods: {
      getData(data) {
        alert("The data from Child is" + data);
      }
    }

子组件

 <button v-on:click="change">click to change The data</button>
    …………
  methods:{
      change(){
       this.$emit('pass','嘿嘿嘿');
      }
    }
## 父组件通过监听 pass事件,当子组件触发事件时将数据进行传递

三、子组件给子组件传递数据

  • 方法一:vue Bus

创建空的vue实例

import Vue from 'vue';
const  Bus = new Vue();
export default Bus;
子组件
import Bus from './bus';

//监听事件的组件
created() {
      Bus.$on('addTasks', (task) => {
        this.tasks.push(task);
      });
    }

//触发事件的组件
  methods:{
      addTask() {
        Bus.$emit('addTasks',{content: this.newTask, isFinished: false});
          ……
      }
    }
  • 方法二:vuex(vue的状态管理库)

参考链接:
https://juejin.im/entry/5a14d23d6fb9a044fa197ebb
http://www.cnblogs.com/wisewrong/p/6266038.html
https://segmentfault.com/a/1190000012808179
https://www.cnblogs.com/fanlinqiang/p/7756566.html
https://www.jianshu.com/p/744109395a95

相关文章

  • Vue基本使用

    数据传递 数据的单向传递把数据交给vue实例对象,实例对象将数据交给界面 vue中数据双向绑定可以用 v-mode...

  • vue父子组件传递数据方法

    标签(空格分隔): vue 父组件向子组件传递数据 Vue中父组件向子组件传递数据用props 举个例子 父组件中...

  • vue组件间通信

    vue组件间通信 1.父组件向子组件传递数据--props 在vue2.0中使用props实现向子组件传递数据: ...

  • Vue组件间数据传递

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

  • vue-resource vue-axios传递数据

    使用vue-resource传递数据 在Home.vue组件中传送数据 src/model/Storage.js中...

  • Vue 组件数据传递

    Vue 组件数据传递 父组件->子组件 父组件到子组件的数据通过 props 传递 在父组件注册子组件,传递数据到...

  • 【Vue学习笔记】—— 组件之间传递数据 { }

    学习笔记 作者:oMing Vue 组件1.通过绑定传递数据(父组件 ——》 子组件) 2.通过事件传递数据 ...

  • vue常见面试题

    双向数据绑定的原理: vue父组件向子组件传值(属性绑定):传递数据(props): 传递方法(this.$emi...

  • Vue父组件调用子组件事件

    Vue父组件向子组件传递事件/调用事件 不是传递数据(props)哦,适用于 Vue 2.0 方法一:子组件监听父...

  • vue兄弟之间的传递

    兄弟之间传递数据需要借助于事件中心,通过事件中心传递数据提供事件中心 var hub = new Vue()...

网友评论

      本文标题:vue数据传递

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