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

相关推荐
摸鱼仙人~2 小时前
纯前端 Vue 实现共享预览链接方案
前端·javascript·vue.js
happymaker06262 小时前
VueCli标准化工程中的组件通信操作
开发语言·前端·javascript
weixin_443478512 小时前
Flutter第三方常用组件包学习之状态管理
javascript·学习·flutter
Yiyi_Coding2 小时前
Proxy详解
java·前端·javascript
a1117762 小时前
PreTeXt 开源推荐(应用demo)
前端·开源·html
追光的蜗牛丿2 小时前
C++传递参数时什么情况下传递引用
开发语言·javascript·c++
摸鱼仙人~2 小时前
前端开发中“共享预览链接”场景-企业级最简方案:Vue + 极简后端(2 接口 1 张表)
前端·javascript·vue.js
七夜zippoe2 小时前
应用安全实践(一):常见Web漏洞(OWASP Top 10)与防护
java·前端·网络·安全·owasp
reasonsummer2 小时前
【白板类-03-01】20260402画板01(html+希沃白板)
前端·html