我是靠谱客的博主 真实哑铃,最近开发中收集的这篇文章主要介绍Vue2.3.0+使用.sync修饰符对prop进行双向绑定/子组件同步prop到父组件绑定的值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

vue2.3.0+使用.sync修饰符对prop进行双向绑定

背景、概念:

在一些情况下,我们可能会需要对一个 prop 进行“双向绑定”。事实上,这正是 Vue 1.x 中的.sync 修饰符所提供的功能。当一个子组件改变了一个带 .sync 的 prop 的值时,这个变化也会同步到父组件中所绑定的值。这很方便,但也会导致问题,因为它破坏了单向数据流。由于子组件改变 prop 的代码和普通的状态改动代码毫无区别,当光看子组件的代码时,你完全不知道它何时悄悄地改变了父组件的状态。这在 debug 复杂结构的应用时会带来很高的维护成本。

上面所说的正是我们在 2.0 中移除 .sync 的理由。但是在 2.0 发布之后的实际应用中,我们发现.sync 还是有其适用之处,比如在开发可复用的组件库时。

我们需要做的只是让子组件改变父组件状态的代码更容易被区分。从 2.3.0 起我们重新引入了.sync 修饰符,但是这次它只是作为一个编译时的语法糖存在。


demo介绍:本demo的功用组件head.vue中,需要知道当前菜单是哪个,进而显示高亮,demo结合elementui

父组件,只需要留意红框部分

子组件header.vue,只需要留意红框部分:

其中el-menu为element-ui的菜单,点击菜单选项时会调用handleSelect函数,本人在handleSelect触发时改变prop中的active,

当子组件需要更新 active的值时,它需要显式地触发一个更新事件update:active


最后

以上就是真实哑铃为你收集整理的Vue2.3.0+使用.sync修饰符对prop进行双向绑定/子组件同步prop到父组件绑定的值的全部内容,希望文章能够帮你解决Vue2.3.0+使用.sync修饰符对prop进行双向绑定/子组件同步prop到父组件绑定的值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部