props:适用于 父组件 ==> 子组件 通信

由父组件传值子组件在props中接收即可;

(由父组件给子组件传递 函数类型 的props可实现 子组件 ==> 父组件 传递数据,较为繁琐,不推荐);

Non-prop属性:适用于 父组件 ==> 子组件 通信

父组件给子组件传递内容时,子组件不使用props接收时,需要使用 $attrs 接收;

$listeners:this.$listeners: 自动会收集所有加在这个组件上的事件监听 

注意:使用.native修饰符的事件,不会体现在$listeners属性上
    

组件的自定义事件:适用于 子组件 ==> 父组件 通信

在父组件中给子组件绑定一个自定义事件事件:

首先,在父组件中给子组件绑定自定义事件 <child @事件名="test">  或者 this.$refs.xxx.$on(‘事件名’,test) ,test为父组件中的回调函数

然后在子组件中,触发自定义事件 this.$emit('事件名',数据)

(通过refs绑定自定义事件时,回调要么配置在methods中,要么用箭头函数,否则this指向会出现问题)

$parent和$children:适用于 父组件 <==> 子组件 通信

在组件内部可以直接通过子组件$parent对父组件进行操作,父组件通过$children对子组件进行操作.

Vue.component('child',{
props:{
value:String, //v-model会自动传递一个字段为value的prop属性
},
data(){
return {
mymessage:this.value
}
},
methods:{
changeValue(){
this.$parent.message = this.mymessage;
//通过如此调用可以改变父组件的值
}
},
template:`<p>
<input type="text" v-model="mymessage" @change="changeValue">
</p>`
}) Vue.component('parent',{
template:`<p>
<p>this is parent compoent!</p>
<button @click="changeChildValue">test</button >
<child></child>
</p>`,
methods:{
changeChildValue(){
      this.$children[0].mymessage = 'hello';
}
data(){
return {
message:'hello'
}
}
})
var app=new Vue({
el:'#app',
template:`<p>
<parent></parent>
</p> `
})

provide和inject:适用于 祖孙组件 之间通信

  

全局事件总线:适用于 任意组件 之间通信

原理:VueComponent.prototype.__proto__ === Vue.prototype

  

  

消息订阅与发布:适用于 任意组件 之间通信

  

vuex: 适用于 任意组件 之间共享数据

在vue中实现集中式状态(数据)管理的一个vue插件

一般用于中大型web单页应用中进行一个状态管理

localStorage / sessionStroage:

这种方式通信比较简单,但数据和状态比较混乱,不容易维护

可以结合vuex实现数据的持久化存储,同时结合vuex可以解决数据和状态混乱的问题

需要使用JSON.parse() / JSON.stringify() 做数据格式转换

路由传参:

  

插槽:

  

参考:

this.$listeners在vue项目中的使用

vue传值的几种方式

全局事件总线

vue传值的几种方式的更多相关文章

  1. ASP.NET 页面之间传值的几种方式

    开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...

  2. 第三节:Action向View传值的四种方式(ViewData、ViewBag、TempData、Model)

    简  介 在前面的章节中,我们已经很清楚,MVC工作模型的流程,Controller中的Action接收到客户端的请求,处理后要将数据返回给View,那么Action中是如何将数据返回给View的,二 ...

  3. 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  4. MVC5控制器传值的三种方式(ViewData,ViewBag,TempData),刚刚学习MVC5的新手,希望各位大神多多指教

    mvc传值的三种方式:1.ViewData 在使用过程中需要类型转换 例子: ViewData["MyTitle"]="ViewData传值"; 引用: @Vi ...

  5. EF5+MVC4系列(7) 后台SelectListItem传值给前台显示Select下拉框;后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式(ViewDate,TempDate,ViewBag,Model (实际是ViewDate.Model传值))

    一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Ord ...

  6. MVC中控制器向视图传值的四种方式

    MVC中的控制器向视图传值有四种方式分别是 1 ViewDate  2.ViewBag   3.TempDate  4.Model 下面分别介绍四种传值方式 首先先显示出控制器中的代码 using S ...

  7. ASP.NET页面间传值的几种方式

    ASP.NET页面间传值的几种方式 1.使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在 ...

  8. Action向视图传值的6种方式

    在使用ASP.NET MVC进行项目开发时,经常会碰到从Action向视图传值的问题,今天我就把我所知道的方式总结了一下,分成了以下六种: 1.使用ViewData进行传值 在Action中,有如下代 ...

  9. Intent在Activity之间传值的几种方式

    发这篇博客主要讲一下Android中Intent中如何传值的几种方法: 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本2:八种数据类新对应数组和CharSequece文本 ...

随机推荐

  1. VUE3 之 全局 Mixin 与 自定义属性合并策略 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:心态决定命运,好心态才能有好的命运. 言归正传,今天我们来聊聊 VUE 中的全局 Mixin 与 自定义属性合并策略. 2. Mixin 的使用 2.1 全局 Mixin 之前 ...

  2. Spring-JdbcTemplate基本使用

    概述:它是spring提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装,spring框架为我们提供了很多的操作模板类.例如操作关系型数据库JdbcTemplate和HibernateTem ...

  3. Conda安装及第一个py程序

    Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\Pro ...

  4. java高级用法之:在JNA中将本地方法映射到JAVA代码中

    目录 简介 Library Mapping Function Mapping Invocation Mapping 防止VM崩溃 性能考虑 总结 简介 不管是JNI还是JNA,最终调用的都是nativ ...

  5. 2021.11.03 P2886 [USACO07NOV]Cow Relays G(矩阵+floyed)

    2021.11.03 P2886 [USACO07NOV]Cow Relays G(矩阵+floyed) [P2886 USACO07NOV]Cow Relays G - 洛谷 | 计算机科学教育新生 ...

  6. 2021.07.19 BZOJ2654 tree(生成树)

    2021.07.19 BZOJ2654 tree(生成树) tree - 黑暗爆炸 2654 - Virtual Judge (vjudge.net) 重点: 1.生成树的本质 2.二分 题意: 有一 ...

  7. python基础练习题(题目 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单)

    day14 --------------------------------------------------------------- 实例022:比赛对手 题目 两个乒乓球队进行比赛,各出三人. ...

  8. SpringMVC 配置 & 初识 & 注解 &重定向与转发

    初识 在web.xml 中注册DispatcherServlet <servlet> <servlet-name>springmvc</servlet-name> ...

  9. centos7系统安装 VMware

    安装版本: CentOS-7-x86_64-DVD-2009.iso   下载地址:阿里巴巴开源镜像 第一步:打开虚拟机,新建虚拟机引导,选择高级,下一步. 第二步:默认下一步 第三步:选择最后一项, ...

  10. 老生常谈系列之Aop--Spring Aop源码解析(一)

    老生常谈系列之Aop--Spring Aop源码解析(一) 前言 上一篇文章老生常谈系列之Aop--Spring Aop原理浅析大概阐述了动态代理的相关知识,并且最后的图给了一个Spring Aop实 ...