sync修饰符的使用

2023-05-16

为什么使用sync

再vue中官网的介绍:我们可能需要对一个 prop 进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源

目的:再子组件去改变父组件的值的时候会有明显的代码样式,方便维护,为什么要这样为什么不用v-molder,因为v-model中已经说明了不要直接去改变v-model中的值,可以去拷贝在改变,在传值,这个也是v-model和sync修饰符的区别。

再我应用了后我认为就是:再父组件上省去了触发事件,并且直接把子组件中传过来的值赋值给v-bind且添加了.sync的那个变量(下面例子直接将子组件传过来的flase给valueChild)

这里说一下v-model:少一个v-bind传值,和一个接收事件,事件的作用:把子组件传过来的值替换掉目前的值,从而达到双向绑定的效果

案例:一个简单父儿组件传值

父组件

<template>
  <div class="details">
    <myComponent
      :show.sync="valueChild"
      style="padding: 30px 20px 30px 5px;border:1px solid #ddd;margin-bottom: 10px;"
    ></myComponent>
    <button @click="changeValue">toggle</button>
  </div>
</template>

<script>
import myComponent from './zj'
export default {
  components: {
    myComponent
  },
  data () {
    return {
      valueChild: true,
    }
  },
  methods: {
    changeValue () {
      this.valueChild = !this.valueChild
    }
  }
}

</script>

这里我将儿组件命名为的是zj.vue

子组件 name:myComponent

<template>
  <div v-if="show">
    <p>默认初始值是{{show}},所以是显示的</p>
    <button @click="closeDiv">关闭</button>
  </div>
</template>

<script>
export default {
  props: ['show'],
  data () {
    return {
    }
  },
  methods: {
    closeDiv () {
      this.$emit('update:show', false); //触发 input 事件,并传入新值
    }
  },
  components: {

  },
}
</script>

解析:在父组件中给某一个prop中的传值添加.sync修饰符后,那么在子组件中便可以,直接在自定义事件中的第一个参数中以update:myPropName 的模式触发事件取而代之,那么第二个参数遍就直接变成了myPropName的值,去传给父组件,而父组件都不需要去监听事件去改变值这个prop传值,例如上面例子中的父组件中的valueChild直接变成就false,而不用去在监听一个事件,在那个事件中去把valueChild直接变成就false,从而达到了再父组件上省去了监听触发事件这一步操作而是直接赋值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sync修饰符的使用 的相关文章

  • vscode ftp-sync 插件使用

    插件安装和配置 1 下载ftp sync插件 extensions中直接搜索安装即可 2 ctrl 43 shift 43 p 选择执行Ftp sync init 配置文件json含义如下 span class token punctuat
  • 修饰符.sync的用法

    修饰符 sync的用法 单个props数据绑定用法 对象型props数据绑定用法 在vue 2 3 0从vue 1 0 0里面重新拿会修饰符 sync 很明显它的意思就是说 sync修饰符可以像v model一样实现类似双向绑定的场景用法
  • ftp文件传输 vscode_VSCode插件--ftp-sync

    VSCode的ftp sync是一个通过sftp ftp自动同步本地文件到远程机器的插件 xff0c 配置之后 xff0c 远程调试会方便很多 xff0c 本地修改文件保存后会自动同步到远程机器 安装插件后 xff0c shift 43 c
  • 安装Android Studio报错“gradle project sync failed“或“Cannot resolve symbol“的解决办法

    项目场景 xff1a 安装android studio 2020 3 1 26 windows 问题描述 1 34 gradle project sync failed 34 如图所示错误 2 但是接下来就遇到了 Cannot resolv
  • Android Studio Gradle project Sync Failed解决方法

    1 查看项目使用的gradle和本地gradle是否一致 本地gradle一般目录在C Users admin gradle文件夹下面 项目使用的gradle在项目的gradle wrapper properties文件中 distribu
  • 个人安卓学习笔记---java.io.IOException: Unable to open sync connection!

    在使用手机调试程序的时候出现了java io IOException Unable to open sync connection 这样的异常 xff0c 我尝试使用拔掉USB然后重新 xff0c 插入 xff0c 结果失败 再尝试 xff
  • Gradle sync failed: Could not find com.android.tools.build:gradle:4.1.3解决方法

    Gradle sync failed Could not find com android tools build gradle 4 1 3解决方法 升级安卓4 1 3后导入其他项目显示如下错误 原因是软件无法更新Gradle sync x
  • 使用VS Code的代码片(snippets)以及使用Settings Sync插件同步VS Code的配置

    创建Snippets文件 在VS Code可以为每种语言创建Snippets文件 xff1a 打开File gt Preferences gt User Snippets xff0c Existing Snippets区域显示了已经创建的S
  • go sync.Pool 深入

    new函数的调用时机和pool的内存释放规则 以下代码调用了四次Get函数 xff0c 但是并不是每次都会new 第一次 xff0c 是a 61 pool Get byte xff0c 首次Get xff0c 在pool的private私有
  • 《次时代Java编程(一):续 vertx-sync实践》

    转载自 xff1a https blog maxleap cn archives 1013 vertx sync是什么 上一篇我们已经讲了 Fiber 相关的知识 xff0c 想必大家对Java实现类似Golang的coroutine已经有
  • sync修饰符的使用

    为什么使用sync 再vue中官网的介绍 xff1a 我们可能需要对一个 prop 进行 双向绑定 不幸的是 xff0c 真正的双向绑定会带来维护上的问题 xff0c 因为子组件可以修改父组件 xff0c 且在父组件和子组件都没有明显的改动
  • repo sync遇到warning: project ‘repo‘ branch ‘stable‘ is not signed

    warning project 39 repo 39 branch 39 stable 39 is not signed This can happen on Linux and Mac I 39 ve personally experie
  • 解决eclipse中出现Resource is out of sync with the file system问题

    作者 xff1a reille 本博客网址 xff1a http blog csdn net reille xff0c 转载本博客原创文章请注明出处 本文内容概要 xff1a 解决eclipse中出现Resource is out of s
  • __sync_fetch_and_add

    最近在公司离职的前辈写的代码哪里看到了 sync fetch and add这个东东 比较好奇 找些资料学习学习 http www lxway com 4091061956 htm http www cnblogs com FrankTan
  • PM_Sync的作用

    目录 一 先来了解一下PM Sync的全称 xff1a 一 PM Sync简介 PM Sync xff1a Power Management synchronization 同步电源管理 在知道这个信号的作用之前需要先来了解一下 ADR 二
  • MySQL · 引擎特性 · InnoDB 事务子系统介绍

    MySQL 引擎特性 InnoDB 事务子系统介绍 http mysql taobao org monthly 2015 12 01 前言 在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后 本节我们从上层的角度来阐述 In
  • Golang 中 sync/atomic 包的原子操作

    背景 Go中多协程的情况下 要保证操作的原子性 一般要使用RWMutex或者Mutex 但是锁使用起来比较复杂 还要考虑lock 和unlock 顺序和成对出现 不注意就容易出错 于是在sync atomic包中 把我们常用的一些操作封装成
  • Python小屋在线练习与刷题软件重要升级

    开学第一课 一定不要这样问老师Python问题 中国大学MOOC Python程序设计基础 第6次开课时间 董付国老师Python系列教材推荐与选用参考 2022年4月13日 Python小屋刷题软件进行了升级 停用之前版本的客户端 请后台
  • 关于idea导入gradle工程,出现sync failed的问题

    在 精通Spring MVC4 这本书中 作者通篇采用gradle来作为项目构建工具 当我们下载下来随书源码后 想导入到idea中 发现idea控制台正在syncing 在第三步configure时一直出错 有时候依赖下载不下来 你到mav
  • 多人实时对战网络同步方式研究

    写在开头 已经研究生毕业快一年半了 一直在一家游戏公司做客户端研发 至于这篇文章讲的却是服务端的东西 主要是因为以前一直没想写博客 学到的东西也一直记在本子上就得了 本人喜欢有剧情的东西 像RPG游戏 仙剑爱好者 有剧情的电视 电影 还有竞

随机推荐

  • vue总结系列 ---- 响应式原理

    检测变化 vue是数据驱动的视图框架DOM是通过数据映射的 xff0c 只有数据改变 xff0c DOM才改变 那么数据是怎么来的呢 xff1f 1 来自父元素的属性 xff08 prop xff09 2 来自组件的自身状态 xff08 d
  • Object.defineProperty()的学习了解

    背景 最近在总结vue系列的时候是看到响应原理的时候 看到一个新的知识点也就是我们的标题Object defineProperty 的时候 xff0c 好了话不多说 xff0c 我们来看看这个是怎么使用的 开始 strong Object
  • vue总结系列 ----- 单向数据流

    可能很多人都以为vue的双向绑定其实是错误的 xff0c vue真正的是单向数据流 xff0c vue的双向绑定只不过是语法糖 我的理解是 xff1a model层 xff1a data对象中的数据 xff0c 或后台传过来的数据 view
  • vue总结系列 ---- 在组件上的v-model单向数据流

    背景 目前是在复习vue原理的过程中 xff0c 前端负责人知道我最近在复习vue xff0c 跟我说要我看组件上的v model 我一听本来是不想放在心上的 xff0c 刚好那天晚上没什么事干想看一下 xff0c 毕竟负责人 xff0c
  • ES6 函数扩展

    参数默认值 也就是说现在ES6对函数中的参数添加了默认值 我们在ES5种的处理 function Fn a b b 61 b 34 nodeing 34 return a 43 b console log Fn 34 hello 34 这样
  • ES6 对象扩展

    对象简写 对象中又分了属性和方法的简写 在es5中 xff0c 有这样一种写法 var name 61 34 xiaoqiang 34 var age 61 12 var obj 61 name name age age 在es6中 xff
  • Bootstrap基础学习笔记

    网格系统 row定义一行 col均分列数 xff0c 最多一行12列 每列左右间隙各15px col 1到12 定义在所有屏幕下的列宽 col sm md lg xl 1到12 定义在指定屏幕下该列占据的列宽 xff0c sm 屏幕 gt
  • ES6 Symbol用法

    Symbol用法 什么是Symbol Symbol是es6中一种新增加的数据类型 xff0c 它表示独一无二的值 es5中我们把数据类型分为基本数据类型 xff08 字符串 数字 布尔 undefined null xff09 和引用数据类
  • img标签中的src在绝对引用的时候的问题

    昨天晚上我一个朋友目前在培训 xff0c 他在群里问了下img标签如何绝对路径引用 xff0c 我当时就笑了这个就是培训机构的老师 xff0c 就大概看了一下就告诉我朋友那里错了 xff0c 但是却出来不 xff0c 我就想自己写一个dem
  • 在vue-cli中使用vue-router的学习笔记

    以前不会vue cli的时候学过router xff0c 当时的写法和在vue cli中的写法还是有一些不一样的 xff0c 但是我以后应该还是会用vue的单文件写小程序啊什么的所以我就吧我学习的过程全部记录下来 router创建 那么问题
  • js中bind()使用详情

    前言 最近在在搞React的时候有用到bind 的时候 xff0c 因为他的用法其实我还一直不是特别的清楚 xff0c 所以今天我把bind 他的用法和我遇到的结合起来这样来写一个博客 xff0c 这样应该可以加深自己的印象同时可以来跟好的
  • var let const 详细区别

    用了ES6已经有一段事件了 xff0c 也看了很多文档 xff0c 以前觉得不用写一个文档总结 xff0c 但是经过一段时间的接触以后 xff0c 认为自己还是有必要去吧他们的区别详详细细的总结一下 块级作用域 白话一点就是在 中就是一个块
  • Git 速查表

    配置 git config global user name 34 lt 姓名 gt 34 设置提交者姓名 git config global user email 34 lt 邮箱 gt 34 设置提交者邮箱 这个有什么用呢 xff1f
  • async比Promise好在什么地方

    什么是Promise xff1f Promise是ES6中的异步编程解决方案 xff0c 在代码中表现为一个对象 xff0c 可以通过构造函数Promise来实例化 xff0c 有了Promise对象 xff0c 可以将异步操作以同步的流程
  • css面试题----css测试9

    每个星期6都会去去看张鑫旭直播写一些小demo然后再去吧写每天学习到的东西 xff0c 心得记下来 xff0c 并且会长期去完成这个任务 IT这个东西真的是要去强迫自己学学习一些好的东西 xff0c 多去优化代码 xff0c 而不是去停滞不
  • css面试题----DOM基础测试34

    这个其实是上上个星期张鑫旭直播的内容 xff0c 我吧我不会的内容总结一下 xff0c 从而来分享给大家 题目 第一问 document querySelectorAll 39 a 39 第二问 1 有bug当有这个href属性但没属性值
  • fon in 和 for of 的区别

    for 循环 其实他一般情况下是根据数组 xff0c 类数组的length的属性值去循环 for in 一般的作用是枚举把key枚举出来 xff0c 但是当我们枚举数组 xff0c 或者字符串的时候会把原型上的方法枚举出来 Object p
  • 词云图wordcloud学习笔记

    词云图 也叫文字云 是对文本中出现频率较高的 关键词 予以视觉化的展现 词云图过滤掉大量的低频低质的文本信息 使得浏览者只要一眼扫过文本就可领略文本的主旨 github https github com amueller word clou
  • ++a-a++解析

    有题目当a为1的时候 43 43 a a 43 43 为多少答案为0 我们再输出a这个时候a等于3 为什么呢 xff1f 运算顺序 前置递增 减 大于 数字运算和后置递增 减 大于 比较 布 大于 逻辑 或 且 大于 赋值 好当我们把运算顺
  • sync修饰符的使用

    为什么使用sync 再vue中官网的介绍 xff1a 我们可能需要对一个 prop 进行 双向绑定 不幸的是 xff0c 真正的双向绑定会带来维护上的问题 xff0c 因为子组件可以修改父组件 xff0c 且在父组件和子组件都没有明显的改动