【Vue】vue两个核心功能声明式渲染_响应式

1、简介

  • Vue.js 是一个渐进式JavaScript框架,用于构建用户界面。
  • 它以其易用性、灵活性和高效性而闻名。
  • Vue 的两个核心功能是声明式渲染和响应式系统,这两个功能共同为开发者提供了强大的工具来构建动态且响应式的Web应用。

2、声明式渲染

2.1简介

  • 声明式渲染 是 Vue.js 的一个核心特性,它允许开发者以声明的方式将 DOM 绑定到底层 Vue 实例的数据上。
  • 这意味着可以通过 Vue 的模板语法来描述视图应该长什么样,而不是直接操作 DOM 来更新视图。
  • Vue 会自动监测数据的变化,并在数据变化时重新渲染 DOM,以保持视图和数据之间的同步。

2.2示例

假设有一个 Vue 实例,其数据对象中有一个名为 message 的属性。

javascript 复制代码
new Vue({  
  el: '#app',  
  data: {  
    message: 'Hello Vue!'  
  }  
})

在 HTML 中,可以使用 Vue 的模板语法来声明式地渲染这个 message

javascript 复制代码
<div id="app">  
  {{ message }}  
</div>

message 的值变化时,Vue 会自动更新 DOM 以反映新的值,而无需手动编写任何 DOM 更新代码。

3、响应式

3.1简介

  • 响应式系统 是 Vue.js 的另一个核心特性,它使得 Vue 能够自动追踪和响应数据的变化。
  • Vue 通过使用 JavaScript 的 Object.defineProperty(在 Vue 3 中使用 Proxy)来实现这一功能。
  • 当 Vue 实例被创建时,它会遍历 data 选项中的所有属性,并使用 Object.defineProperty 将它们转换为 getter/setter。这样,Vue 就能追踪到每个属性的访问和修改。
  • 当数据被访问时,getter 会被调用,Vue 会记录下这个依赖(通常是一个组件的渲染函数或计算属性)。当数据被修改时,setter 会被调用,Vue 会通知所有依赖这个数据的组件重新渲染。

3.2示例

假设有一个 Vue 实例,并且修改了 message 的值:

javascript 复制代码
vm.message = 'New message!';

由于 message 是响应式的,Vue 会知道 message 的值已经改变,并自动触发更新过程,重新渲染所有依赖 message 的视图部分。

相关推荐
智践行几秒前
Trae开发实战之转盘小程序
前端·trae
最新资讯动态7 分钟前
DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗
前端
lvbb6616 分钟前
框架修改思路
前端·javascript·vue.js
qq_4560016517 分钟前
43、接口请求需要时间,导致页面初始加载时会出现空白,影响用户体验
javascript·vue.js·ux
工业互联网专业18 分钟前
基于springboot+vue的动漫交流与推荐平台
java·vue.js·spring boot·毕业设计·源码·课程设计·动漫交流与推荐平台
树上有只程序猿18 分钟前
Java程序员需要掌握的技术
前端
从零开始学安卓21 分钟前
Kotlin(三) 协程
前端
阿镇吃橙子25 分钟前
一些手写及业务场景处理问题汇总
前端·算法·面试
庸俗今天不摸鱼25 分钟前
【万字总结】前端全方位性能优化指南(九)——FSP(First Screen Paint)像素级分析、RUM+合成监控、Lighthouse CI
前端·性能优化