原生 JS:数据和视图「分离」,必须手动同步原生 JS 里,数据是数据,视图是视图,两者完全没关系

一、原生 JS:数据和视图「分离」,必须手动同步

原生 JS 里,数据是数据,视图是视图,两者完全没关系:

  • 你有一个变量 count = 100(数据)
  • 页面上有一个 <span> 显示 100(视图)
  • 当你点击按钮修改 count 时,必须手动写代码把新的 count 赋值给 <span> 的内容,否则页面永远不会变。

计数器:

复制代码
// 原生JS必须手动做两件事:改数据 + 改视图
addBtn.addEventListener('click', function() {
  count++; // 1. 改数据
  countSpan.textContent = count; // 2. 手动把数据同步到视图(缺一不可!)
});

痛点:项目越大,DOM 操作越多,很容易漏写、写错,导致数据和视图不一致,维护成本爆炸。


二、Vue:数据和视图「双向绑定」,自动同步

Vue 做了一件事:把数据和视图「连接」起来,建立了响应式关系:

  • 你把 count 写在 data 里,Vue 会自动给它加上「响应式监听」
  • 页面上的 {``{count}} 会自动「订阅」这个数据的变化
  • 当你修改 count 时,Vue 会自动检测到变化,立刻更新对应的视图,你完全不用写任何 DOM 操作代码。

例子:

复制代码
<!-- 视图:{{count}} 自动绑定data里的count -->
<span>{{count}}</span>
<button @click="count++">+</button>

data: {
  count: 100 // 数据:Vue自动监听它的变化
}

优势:关心「改数据」,Vue 自动帮你「更视图」,彻底解放了 DOM 操作,代码量少、逻辑清晰、不会出错。


三、一句话总结(背下来就是核心)

  • 原生 JS:数据改了,视图不会自己变,必须手动写代码把数据「写」进视图里。
  • Vue:数据改了,视图自动跟着变,因为 Vue 在数据和视图之间搭了一座「自动同步的桥」。

补充:Vue 的「双向绑定」到底是什么?

理解成:

  • data 里的数据是「源」,页面上的视图是「镜像」
  • 源变了,镜像自动变(数据驱动视图)
  • (如果是表单输入)镜像变了,源也自动变(视图驱动数据,比如 v-model)

这就是 Vue 能成为前端主流框架的核心原因之一,彻底解决了原生 JS 手动操作 DOM 的痛点。

vue常用的v-bind绑定用:省略并且img的src加上:可以比绑定data的数据url集合等

vue常用的v-show正常用="true/false"

vie常用的v-on绑定事件省略用@并且可以直接click="函数名(参数)"

v-if -else常用时候加="参数true/false"

相关推荐
葡萄城技术团队3 小时前
1000 人协同压测的环境瓶颈排查:CPU 争用与 Wi\-Fi
前端
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
excel4 小时前
Marked 与 Markdown 有什么区别?该怎么选?
前端
Da Da 泓5 小时前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
zxcvb1535 小时前
远程查看本地文档:一条轻量 Web 文件服务的工程化链路
前端·远程查看文档
niucloud-admin6 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
程序员大阳6 小时前
副队长JavaScript教程(50)-DOM:网页开发的起点
javascript·dom·es·节点·概念·document·关系
北岛贰6 小时前
啵啵音乐迎来全新升级!
前端
hkNaruto8 小时前
【AI】基于大模型的AI游戏地图生成、控制方案:AI Native Game Harness 迁移操作手册
前端·人工智能·游戏
IT_陈寒8 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端