美文网首页
1、Vue.js和MVVM

1、Vue.js和MVVM

作者: 猪儿打滚 | 来源:发表于2019-09-26 14:24 被阅读0次

一、什么是Vue.js?

  • 前端三大主流框架
    Angular.js、React.js、Vue.js
  • 简单小巧
    使用gzip压缩后,只有20kb左右
    入门容易
  • 自动进行响应式更新
    只需要关注前端业务逻辑,无需操作DOM
  • 高级特性
    解耦视图与数据
    可复用组件
    前端路由
    状态管理
    虚拟DOM

二、MVVM模式

  • MVVM是Model-View-ViewModel的缩写
    Model:数据;和数据库进行数据交互
    View:视图;界面展示
    ViewModel:视图模型

三、MVVM和Vue.js

  • MVVM
    它是Model-View-View Model的所写,是一种基于前端开发的架构模式。其核心是提供对View和ViewModel的双向数据绑定,这使得ViewModel的状态改变可以自动你传递给View,即是所谓的“数据双向绑定”

  • Vue.js
    是一个提供了MVVM风格的双向数据绑定的JavaScript库,其专注于View层,它的核心是MVVM中的VM/ViewModel。

  • M、V、VM的关系
    ViewModel负责连接View和Model,这两层之间没有直接的联系,而是通过ViewModel进行交互。它们之间的交互是双向的:其中一个的状态发生改变,会导致另外一层对应的装填发生改变,从而保证了视图和数据的一致性

  • 这种轻量级的架构让前端开发更加便捷和高效,因为ViewModel通过双向数据把View层和Model层连接起来,而View和Model之间的数据同步工作是自动的,无需开发者去干涉,这样开发者只需要关注处理业务逻辑,不需要手动去操作DOM(View),不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理

  • MVVM在前端代码的体现: 摘自知乎文章https://zhuanlan.zhihu.com/p/33178071
  • Vue实现双向数据绑定的原理(摘自知乎文章https://zhuanlan.zhihu.com/p/33178071
    vue中实现双向数据绑定用到的核心方法就是defineProperty,这个方法在对象的原型上,使用方法如下:

// Object.defineProperty是用来操作一个对象的它有两种用法
//(1)、
    var obj={name:"小孩"};
    Object.defineProperty(obj,'sex',{
        configurable:true,//此属性是否可以删除(delete),默认是false.
        enumerable:true,//是否可以枚举例如通过for in,默认是false
        writable:true,//此属性是否可以改,默认是false
        value:"man",
    });
//通过(1),我们给obj这个对象添加了一个'sex'属性,通过以上的配置,这个属性可以删除、
//可以枚举、可以修改,

//(2)、配置项中的writable属性由两个方法(get、set)代替,此时这个属性时可修改的。
//writable和这两个方法不能同时出现在配置项
  Object.defineProperty(obj,'sex',{
        configurable:true,//此属性是否可以删除(delete),默认是false
        enumerable:true,//是否可以枚举例如通过for in,默认是false
        get(){//当获取obj.sex值得时候会调用执行get方法,获取的值就是这个函数的返回值
            console.log("你调用了get方法") 
            return 'man';
        },
        set(newVal){//当给这个属性赋值的时候会调用执行set方法,即使所赋的值和原值相同也会调用
            console.log('你修改了obj的sex属性,调用了set方法');
            console.log(newVal);//此时val就是赋予obj的sex属性的新值
        }
    });
obj.sex="woman";//你修改了obj的sex属性,调用了set方法  woman
console.log(obj.sex);//你调用了get方法   woman
//可以复制代码进行验证,从而加深印象。

相关文章

  • 1、Vue.js起步

    1.vue是什么? Vue.js官网Vue.js菜鸟教程 2.MVVM模式 MVVM即:Model-View-Vi...

  • 一.Vue.js起步

    1 Vue.js Vue.js官网 Vue.js菜鸟教程 2 MVVM模式 MVC:Model-Viel-Cont...

  • 1、Vue.js和MVVM

    一、什么是Vue.js? 前端三大主流框架Angular.js、React.js、Vue.js 简单小巧使用gzi...

  • Vue.js的简单使用

    vue.js是一个MVVM的框架,理解MVVM有利于学习vue.js。 MVVM拆分解释为: Model:负责数据...

  • vue常见面试题总结大全(上)

    vue.js的两个核心:数据驱动、组件系统 1.什么是MVVM? MVVM是Model-View-ViewMode...

  • Vue.js 概述与 MVVM 模式

    一、Vue.js 1. Vue.js 是什么 Vue.js 是一个轻巧、高性能、可组件化的 MVVM 库,拥有非常...

  • vue常见的面试题

    Vue.js面试题整理 一、什么是MVVM? MVVM是Model-View-ViewModel的缩写。MVVM是...

  • vue.js面试题整理

    Vue.js面试题整理 一、什么是MVVM? MVVM是Model-View-ViewModel的缩写。MVVM是...

  • MVVM框架

    了解MVVM框架吗? Vue.js React.js Angular.js 谈谈你对MVVM的认识? MVVM的定...

  • Vue.js 介绍及其脚手架工具搭建

    vue.js介绍 (MVVM、核心思想) vue.js 是一套轻量级的 MVVM 的渐进式框架。Vue 的核心库只...

网友评论

      本文标题:1、Vue.js和MVVM

      本文链接:https://www.haomeiwen.com/subject/eprwyctx.html