vue不得不了解的就是组件间的数据通信(暂且不谈vuex插件)。

通信方式根据组件之间的关系有不同之处。

组件关系有下面三种:父-->子子-->父非父子

1、父-->子

父向子传递数据用prop

<!--子组件代码-->
<template>
<div> {{message}} </div>
</template> <script>
export default{
name="child",
prop: ['message'], //利用prop函数,定义一个"message"变量
data(){ }
}
</script>
<!--父组件代码-->
<template>
<v-child message="msg"> </v-child> <!--在这里传值--> </template>
<script> 
  import Child from './child.vue'
  export default{
    name: 'parent',
    components: { 'v-child': Child },
    data(){
      return{ msg:'hello world'
        }
  }
</script>

 2.子组件给父组件传值($emit) 子组件给父组件传值的中心思想是;通过方法传参,具体用法如下:

<!-- 子组件部分 -->

<script>
data(){
return{
msg: '123'
}
},
method: {
funcName: function(){
this.$emit("tanslate",this.msg)
//自定义一个tanslate和一个参数this.msg
}
}
</script>
父页面HTML部分: 通过子页面定义tanslate事件调用自定的tanslateText方法
<v-child v-on:tanslate="tanslateText">  </v-child>

 父页面js部分:

method:{
tanslateText:function(text){ //text是字组件传过来的参数
console.log(text) //打印出子组件传递过来的参数
}
}

  

3.兄弟组件之间传值

创建一个store.js文件,注册Vuex
import Vue from 'vue'
import Vuex from 'vuex' Vue.use(Vuex) //定义state,并将listName设置成一个空对象
const state = {
listName:{}
} /定义mutations,可以传参数,用于设置state里的listName
const mutations = {
set_listname : (state, value) => {
state.listName = value ;
}
} //定义getters,用于获取state里的对象
const getters = {
get_listname: state => {
return{ state.listName
}
} export default new Vuex.store({
getters,
state,
mutations
})

  

在vue实例中注册store.js

//main.js

import Vue from 'vue'
import App from './App'
import store from './style' new Vue({
el : '#app',
route,
store,
template: '<App/>',
components: {App}
})

  

后续补充完善

Vue 组件的通信的更多相关文章

  1. vue组件间通信六种方式(完整版)

    本文总结了vue组件间通信的几种方式,如props. $emit/ $on.vuex. $parent / $children. $attrs/ $listeners和provide/inject,以 ...

  2. Vue组件间通信6种方式

    摘要: 总有一款合适的通信方式. 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的 ...

  3. VUE组件如何通信

    Vue父子组件如何通信? 子组件通知父组件(调用父组件方法) 在父组件使用 on(eventName)监听事件,在子组件使用emit(eventName) 触发事件 : 父组件通知子组件(调用子组件方 ...

  4. 前端面试 vue 部分 (5)——VUE组件之间通信的方式有哪些

    VUE组件之间通信的方式有哪些(SSS) 常见使用场景可以分为三类: 父子通信: null 父向子传递数据是通过 props ,子向父是通过 $emit / $on $emit / $bus Vuex ...

  5. Vue 组件之间通信 All in One

    Vue 组件之间通信 All in One 组件间通信 1. 父子组件之间通信 https://stackblitz.com/edit/vue-parent-child-commutation?fil ...

  6. vue组件之间通信传值

    原文链接:https://blog.csdn.net/lander_xiong/article/details/79018737 我认为这位博主的这篇文章写的非常详细,通俗易懂, 我们这次的vue项目 ...

  7. vue组件间通信

    组件间通信(父子,兄弟) 相关链接\组件通信http://www.cnblogs.com/xulei1992/p/6121974.html 学习链接Vue.js--60分钟快速入门http://www ...

  8. vue组件之间通信的8种方式

    对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的常用方式的总结. props和$emit(常用) $attrs和$listeners 中央事件总线(非父子组件间通信) v- ...

  9. vue组件兄弟间通信

    四.兄弟组件间通信(event) 借助于一个公共的Vue的实例对象,不同的组件可以通过该对象完成事件的绑定和触发 var bus = new Vue(); bus.$emit()bus.$on() 熊 ...

  10. vue组件间通信子与父

    二.组件间通信(子组件传值给父组件) 通过事件的方式来完成数据的传输. ①在父组件中 定义一个方法,用来接收子组件所通过事件传来的值 methods:{ recvMsg:function(msg){ ...

随机推荐

  1. 第一周--------Java的特性和优势

    --------我认可的1.跨平台性:   Java 的int 永远是32位,不像C++可能是16.,32 可能是根据编译器厂商规定的变化.这样的话,程序的移植就会变得困难2.安全性    Java ...

  2. jquery入口函数的测试

    /*编写一个自定义的jquery框架*/ (function (window,undefined) { var njquery=function (selector ,) { return new j ...

  3. java 微信开发的工具类WeChatUtils

    import com.alibaba.fastjson.JSONObject;import com.bhudy.entity.BhudyPlugin;import com.bhudy.service. ...

  4. Python 【文件的读写】

    文件读写 A 读取文件 读文件三步:开——读——关.file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8')第一个参数是 ...

  5. Python+Appium启动手机APP或者浏览器

    一.设备信息配置 脚本如下: from appium import webdriver class my_app(): def __init__(self): desired_caps = {} # ...

  6. java获取端口号,不用request

    Integer port = null; MBeanServer mBeanServer = null; List<MBeanServer> mBeanServers = MBeanSer ...

  7. java8新特性的介绍

    什么是Stream Stream是一个来自数据源的元素队列并可以进行聚合操作.  数据源:流的来源. 可以是集合,数组,I/O channel, 产生器generator 等  聚合操作:类似SQL语 ...

  8. c#基于TCP/IP、CIP协议的欧姆龙PLC通信

    一.关于CIP协议 CIP通信是Common Industrial Protocl(CIP)的简称,它是一个点到点的面向对象协议,能够实现工业器件(传感器,执行器)之间的连接,和高等级的控制器之间的连 ...

  9. Mysql连接数设置

    在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是 ...

  10. restTemplate源码解析(三)创建ClientHttpRequest请求对象

    所有文章 https://www.cnblogs.com/lay2017/p/11740855.html 正文 上一篇文章中,我们大体看了一下restTemplate的核心逻辑.再回顾一下核心代码 p ...