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 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue中的.sync修饰符 -> 正文阅读

[JavaScript知识库]vue中的.sync修饰符

?首先来看一下官网API的定义:

大概意思就是在Vue中,父子组件最常用的通信方式是通过props进行数据传递,并且只能是父到子的单向数据传递,子组件是不允许修改父组件传递过来的props的值。如果直接修改浏览器会报错。

但是有一些业务场景需要在子组件内部改变父组件传递过来的props值并更新到父组件中去,这时就需要用到.sync修饰符。

其实.sync也是一个语法糖:

// 子组件
<child :name.sync="name" ></child>

// 其实会编译成如下
<child :name="name" @update:name ="val => name = val"'></child>

// 子组件修改props值需要使用$emit
this.$emit('update:name', newValue)

下面来看一个完整的例子:控制弹窗的显示和隐藏

// 父组件

<template>
    <div id="father">
        <child :show.sync="show" ></child>
        <button @click="toggle">切换</button>
    </div>
</template>
<script>
    export default {
        data() {
            return {
                show: true,
            }
        },
        methods:{
            toggle(){
                this.show = !this.show;
            }
        }
    }
</script>


// 子组件

<template>
    <div id="child">
        <div v-show="show">弹窗</div>
        <button @click="close">关闭</button>
    </div>
</template>
<script>
    export default {
        props:['show'],
        methods:{
            close(){
                this.$emit('update:show', false)
            }
        }
    }
</script>

总结:修饰符.sync的功能就是,当子组件可以改变父组件传递过来的props,并且这个变化可以同步到父组件中。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-26 12:07:25  更:2021-10-26 12:09:13 
 
开发: 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年5日历 -2024/5/12 22:16:44-

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