Vue框架

发布于:2022-12-04 ⋅ 阅读:(382) ⋅ 点赞:(0)
  • Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架

9484daddfae04c7e9208305c27e5c42e.png

 vue原理

引用
众所周知vue是一个MVVM 渐进式框架,MVVM是vue的设计模式,在vue框架中数据会自动驱动视图。

1、MVVM设计模式e5b8ea608905448290c9dfe0efec1f4e.png

 解释

View是视图,就是DOM;对应视图也就是HTML部分--代表UI组件,它负责将数据模型转化成UI展现出来。 Model是模型,就是vue组件里的data,或者说是vuex里的数据;--代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。 ViewModel--监听模型数据也就是data的的改变和控制视图行为、处理用户交互,简单理解就是一个同步View和Model的对象,连接Model和View。

总结
在MVVM架构下,View和Model之间并没有直接的联系,而是通过ViewMode进行交互,Model和ViewModel之间的交互是双向的,因此View数据的变化会同步到Model中,而Model数据的变化也会立即反应到View上。

ViewModel通过双向数据绑定把View层和Model层连接了起来,而View和Model之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理。

由此,我们可以引出vue是响应式的

我们来了解一下MVVM

MVVM:

M: Model,即数据。既然是前端,我们要做的事情肯定是怎么把数据给呈现到界面上了,这里的数据就是我们说的Model,通常呈现形式就是如同样是MVVM的WPF中的对象数据源或者如Vue中的JSON数据。
V: View,即视图。WPF中的xaml界面,或者前端领域中往往指的就是我们的HTML代码,或者说DOM应该也可以。
VM: ViewModel。连接界面View和数据Model的,不管你用的是什么方式,其目的就是使得View的输入能立刻保存到Model中,反之,Model的改变能立刻反应到View界面上。

356b4e89dc5247ee9fc233d92981ecaa.png

 

Vue如何创建

每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的:

  • var vm = new Vue({
  •   // 选项
  • })

通过 $mount

  • import Vue from 'vue'
  • const app = new Vue({
  •   // el: '#root',
  •   template: '<div>{{text}}</div>',
  •   data: {
  •     text: 0
  •   }
  • })
  • app.$mount('#root')

作用

数据响应式,通过实例修改数据

  • import Vue from 'vue'
  • const app = new Vue({
  •   // el: '#root',
  •   template: '<div>{{text}}</div>',
  •   data: {
  •     text: 0
  •   }
  • })
  • app.$mount('#root')
  • // 直接修改实例的数据
  • setInterval(() => {
  •   app.text += 1
  • }, 1000)

 

本文含有隐藏内容,请 开通VIP 后查看