IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> .sync -> 正文阅读

[移动开发].sync

对.sync的理解

单一对象

当需要对一个prop进行双向绑定,但不幸的是,真正的双向绑定会带来维护上的问题(控制台会提示不要直接修改prop),因为子组件可以变更父组件,且在父组件和子组件两侧都没有明显的变更来源

这时候我们会利用 $emit 来解决这一问题。通过在子组件监听属性的变化,然后发送事件给父组件,接着父组件绑定相应的事件。一旦子组件的属性发生变化,就触发父组件的事件。

具体实现是这样的:
针对dialogVisible,一旦子组件的dialogVisible发生改变,触发下面的事件handleClose

  handleClose() {
    this.dialogVisible = false
    this.$emit("dialogVisible")
  }

然后父组件在利用@dialogVisible="handleDialg"来触发事件handleDialog

  <elDialog :visible="visible" @dialogVisible="handleDialog"/>
  handleDialog() {
    this.visible = false
  }
  • 而.asyc是他们的一个缩写

父组件中:

<elDialog :visible.sync="visible"/>

子组件中的方法

handleClose() {
  this.dialogVisible = false
  <!-- update是必要的 -->
  this.$emit("update:dialogVisible")
}
  • 注意带有 .sync 修饰符的 v-bind 不能和表达式一起使用 (例如 v-bind:title.sync=“doc.title + ‘!’” 是无效的)

针对多个对象

如果一个组件的多个prop都要实现双向绑定,只需要每个prop加sync修饰符

<elDialog :a.sync="value1" :b.sync="value2" :c.sync="value2" :d.sync="value2"></elDialog >

但这太麻烦了,当我们用一个对象同时设置多个prop的时候,也可以将这个.sync修饰符和v-bind 配合使用:

<text-document v-bind.sync="doc"></text-document>

这样会把 doc对象 中的每一个property(如 title) 都作为一个独立的 prop 传进去,然后各自添加用于更新的 v-on 监听器。

文章参考例子:index.vue和elDialog.vue

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:18:57  更:2021-12-26 22:20:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:22:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码