传送门:https://cn.vuejs.org/v2/guide/components-custom-events.html

https://segmentfault.com/q/1010000012055834/a-1020000012055960

1、最单纯的做法:$emit 事件回调

// 父组件
<msgbox :god='title' @shift="fuck"></msgbox> data () {
  return {
    title: '我是标题'
  }
},
fuck (data) {
this.title = fuck
} // 子组件
<button @click='go'></button>
go () {
this.$emit('shift', '你要更新的值');
}

(推荐)其实父组件如果只是赋值的话,可以写的更简洁一点。可以省略回调函数的定义和绑定。

// 父组件
<msgbox :god='title' @shift="title = $event"></msgbox> // 子组件
<button @click='go'></button>
go () {
this.$emit('shift', '你要更新的值');
}

$event是内置变量,你甚至可以这样写:

<msgbox :god='title' @shift=" val => title = val""></msgbox>

2、官方推荐的做法: @update 状态更新事件

原理同1,我是看不出区别。主要是更加规范吧,看到这个就知道是双向属性更新了。同时也少了自定义事件名的烦恼。

// 父组件
<msgbox :god='title' @update:title="title = $event"></msgbox> // 子组件
<button @click='go'></button>
go () {
this.$emit('update:title', '你要修改的值')
}

3、我强烈推荐的做法:v-bind.sync

// 父组件,可以省略 @update 或者 @event
// 等同于:<msgbox :god='title' @update:title="title = $event"></msgbox>
<msgbox :god.sync='title'></msgbox>
 
// 子组件
<button @click='go'></button>
go () {
this.$emit('update:title', '你要修改的值')
}

Vue 温故而知新 props如何双向属性绑定的更多相关文章

  1. Vue中img标签src属性绑定

    最近刚刚完成了自己的毕业设计项目,整理一下过程中遇到的问题吧~~~ 我做的是一个基于Vue的信息资讯展示与管理平台,显示首页.详情页等的文章内容时就涉及到了图片展示,项目初始时我搭建的是静态网页结构, ...

  2. Vue中img的src属性绑定

    正确:<img :src=" 'files/'+value.src "> 或 <img :src="value.src">错误:< ...

  3. Vue父子组件数据双向绑定,子组件可修改props

    第一种,子组件通过监听父组件数据,子组件改变数据之后通知给父组件 原文链接:https://blog.csdn.net/m0_37728716/article/details/81776929 父组件 ...

  4. 2-4 Vue中的属性绑定和双向数据绑定

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Vue学习之vue属性绑定和双向数据绑定

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. vue中的数据双向绑定

    学习的过程是漫长的,只有坚持不懈才能到达到自己的目标. 1.vue中数据的双向绑定采用的时候,数据劫持的模式.其实主要是用了Es5中的Object.defineProperty;来劫持每个属性的get ...

  7. vuejs属性绑定和双向绑定

    属性绑定 html <div v-bind:title="title">hello world</div> js new Vue({ el:'#root', ...

  8. vue添加属性绑定

    html <div id="app-2"> <span v-bind:title="message"> 鼠标悬停几秒钟查看此处动态绑定的 ...

  9. WPF属性绑定实现双向变化

    WPF依赖项属性可以实现属性的绑定,成功绑定之后只要修改后台绑定的属性,即可UI同步自动更新绑定的值,无需手动刷新界面:同样,前台的值变化后,通过获取绑定的属性值也可获取UI变化后的值,实现双向变化的 ...

随机推荐

  1. 解决mount.nfs: access denied by server while mounting错误

    环境:oraclelinux6.7 以前在centos服务器上安装nfs.挂载NFS都没出现问题,今天在oraclelinux上安装后,在客户端mount的时候报mount.nfs: access d ...

  2. python的os模块总结

    python的os模块总结 目录 常用方法和属性总结 文件操作 目录操作 常用方法和属性总结 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir(&quo ...

  3. 移动端Tap与滑屏实战技巧总结以及Vue混合开发自定义指令

    最近在忙混合开发,因交互相对复杂,所以也踩了很多坑.在此做一下总结. 1.tap事件的实际应用 在使用tap事件时,老生常谈的肯定是点透问题,大多情况下,在有滑屏交互的页面时,我们会在根节点阻止默认行 ...

  4. SystemTap - 安装

    按照SystemTap Beginners Guide的Installation and Setup部分安装了SystemTap,没想到竟然还有点曲折,在这里纪录一下. 环境 Linux发行版本:Ce ...

  5. [JSOI2004]平衡点/[BZOJ3680]吊打XXX

    [JSOI2004]平衡点/[BZOJ3680]吊打XXX 题目大意: 有\(n(n\le10000)\)个重物,每个重物系在一条足够长的绳子上.每条绳子自上而下穿过桌面上的洞,然后系在一起.假设绳子 ...

  6. 配置Spring的用于初始化容器对象的监听器

    <!-- 配置Spring的用于初始化容器对象的监听器 --> <listener> <listener-class>org.springframework.web ...

  7. C1驾考总结

    C1学车经验总结       科目1:理论考试,要点:驾考宝典上有关科目一的题全部做一遍,然后使用模拟测试,连续能够三次测试通过95分以上,说明差不多了.其中要特别注意,多去回顾几次做错过的题目.   ...

  8. [原创]zabbix工具介绍,安装及使用

    [原创]zabbix工具介绍,安装及使用 http://waringid.blog.51cto.com/65148/955939/

  9. phpmyadmin更改密码

  10. normalize.css的使用

    normalize.css有下面这几个目的: 保护有用的浏览器默认样式而不是完全去掉它们一般化的样式:为大部分HTML元素提供修复浏览器自身的bug并保证各浏览器的一致性优化CSS可用性:用一些小技巧 ...