vue中v-model 的双向绑定底层原理你了解吗?

news/2024/7/10 1:51:55 标签: vue, vue.js, javascript, 前端

📒博客首页:酸狗的博客🍋
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
💖热爱前端学习,期待一起交流!✨
🙏作者水平很有限,如果发现错误,求告知,多谢!🌈
😎有问题可私信我交流🙄

✨什么是双向数据绑定

  • 首先存在双方:一方是界面中显示的数据,另一方是vue中的数据
  • vue中的数据变化,显示的数据跟着变化
  • 显示的数据变化,vue中的数据跟着变化

vuevmodule_12">💎 vue中,通过v-module指令可以实现双向绑定

举个栗子:

    <div id="app">
        <div>{{msg}}</div>
        <div>
            <!-- 使用model指令进行数据的双向绑定 -->
            <!-- value会改变msg的值,msg也会改变model -->
            <input type="text" v-model="msg">
        </div>
    </div>
    <script src="../vue.js"></script>
    <script type="text/javascript">javascript">
        var vm = new Vue({
            el: '#app',
            data: {
                msg: 'hello'
            },
            methods: {

            },
        });
    </script>

在输入框中修改内容,会使,msg变量的值改变,输入框上方的值和输入框的值一样,在控制台打印的vm.msg的值也会改变;

同样的,在控制台通过vm.msg改变msg的值,也会使输入框和上面的值同时改变

在这里插入图片描述
这就是最简单的双向绑定🙄

💍v-module双向绑定的底层原理:

是通过数据绑定+事件绑定的

通过v-bind:value=‘msg’,将value属性和msg数据进行绑定,那么msg的值就会影响value的值;然后通过通过v-on:input=‘msg=$event.target.value’,给文本添加了一个input事件

原理代码:

    <div id="app">
        {{msg}}
        <!-- 将value属性和msg数据进行绑定,那么msg数据变化时也会影响到value -->
        <div><input v-bind:value='msg' v-on:input='handle' type="text"></div>
    </div>
    <script src="../vue.js"></script>
    <script type="text/javascript">javascript">
        var vm = new Vue({
            el: "#app",
            data: {
                msg: 'hello'
            },
            methods: {
                handle: function (e) {
                    //表格的value值发生变化时,msg的值也会变化  ,同时msg的值也是value值
                    this.msg = e.target.value;
                }
            }
        })
    </script>

看到最后是不是发现v-model 的双向绑定底层原理竟是如此简单🤣

在这里插入图片描述


http://www.niftyadmin.cn/n/805840.html

相关文章

PHP json_decode 函数解析 json 结果为 NULL 的解决方法

在做网站 CMS 模块时&#xff0c;对于模块内容 content 字段&#xff0c;保存的是 json 格式的字符串&#xff0c;所以在后台进行模块内容的编辑操作 ( 取出保存的数据 ) 时&#xff0c;需要用到 json_decode() 函数。 但是在解析的时候&#xff0c;使用 json_decode() 函数解析…

【Redis实现系列】事件驱动模型实现

事件模型 Redis服务器是一个事件驱动程序&#xff0c;服务器需要处理以下两类事件&#xff1a; 文件事件&#xff08;file event&#xff09;&#xff1a;Redis服务器通过套接字&#xff08;socket&#xff09;与客户端&#xff08;或者其他Redis服务器&#xff09;进行连接&a…

笔记:深入理解JVM 第5章 调优案例分析与实战

1、每天15万 PV 的在线文档类型网站 环境&#xff1a;4 CPU&#xff0c;16GB 内存&#xff0c; 64位 CentOS 5.4 问题&#xff1a;网站失去响应 原先JVM配置&#xff1a;JDK1.5&#xff0c; -Xmx12G -Xms12G 解决过程&#xff1a;发现问题来自GC停顿&#xff08;12G内存 的 F…

【Redis实现系列】RedisServer实现

RedisServer 请求处理 (文件事件) 命令请求执行过程&#xff1a;即 processFileEvents 里读事件处理器的主要操作 发送命令请求 Redis服务器的命令请求来自Redis客户端&#xff0c;当用户在客户端中键入一个命令请求时&#xff0c;客户端会将这个命令请求转换成协议格式&am…

JS面试题汇总(九)

&#x1f4d2;博客首页&#xff1a;酸狗的博客&#x1f34b; &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f496;热爱前端学习&#xff0c;期待一起交流&#xff01;✨ &#x1f64f;作者水平很有限&#xff0c;如果发现错误&#x…

【Redis实现系列】初始化服务器

初始化服务器 初始化状态结构 初始化服务器的第一步就是创建一个struct redisServer类型的实例变量server作为服务器的状态&#xff0c;并为结构中的各个属性设置默认值。 初始化server变量的工作由redis.c/initServerConfig函数完成&#xff0c;以下是这个函数最开头的一部…

JS面试题汇总(十)

&#x1f4d2;博客首页&#xff1a;酸狗的博客&#x1f34b; &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f496;热爱前端学习&#xff0c;期待一起交流&#xff01;✨ &#x1f64f;作者水平很有限&#xff0c;如果发现错误&#x…

BMP位图文件结构及平滑缩放 (转)

BMP位图文件结构及平滑缩放 (转)[more]BMP位图文件结构及平滑缩放 西安交通大学流体机械研究所张义云 ---- 用普通方法显示BMP位图&#xff0c;占内存大&#xff0c;速度慢&#xff0c;在图形缩小时&#xff0c;失真严重,在低颜色位数的设备上显示高颜色位数的图形图形时失真大…