原生 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"

相关推荐
乌托邦9 小时前
uni-mini-ci:让 uniapp 小程序构建后自动预览和上传
前端·vue.js·uni-app
豹哥学前端9 小时前
前端工程化实战:从包管理到 Vite 配置,一套下来全明白
前端·javascript·vite
网安小白9 小时前
如果解决github域名解析问题
前端
葬送的代码人生9 小时前
用一句 Prompt 十分钟搓出完整应用
前端·html·ai编程
干中学_20269 小时前
vue3 画布编辑器「平移」天坑?只需 5 行代码,完美优雅复刻大厂体验!
javascript
ShiJiuD66688899910 小时前
大事件板块三
前端·bootstrap·html
JavaAgent架构师10 小时前
前端AI工程化(五):AI对话状态管理
前端·人工智能
ricardo197310 小时前
一张图搞懂 HTTP 缓存:强缓存、协商缓存与最佳 Cache-Control 配置
前端
程序员码歌10 小时前
别再让 AI 自由发挥了:OpenSpec 才是团队协作不跑偏的关键
android·前端·人工智能
用户114818678948410 小时前
Vue 开发者快速上手 Flutter(二)
前端