zoukankan      html  css  js  c++  java
  • vue系列教程-02什么是mvvm和spa

    什么是mvvm和spa

    本内容为系列内容,全部请看我的vue教程分类

    什么是mvvm

    Model-View-ViewModel

    很多初学者就对这个比较模糊,其实我这里讲了你也不一定能理解,这个东西还是需要实践才能体会

    我尽量讲的通俗一点

    首先还是这张图,大家可能都看过了,这里我们举一个例子结合图来说明

    Snipaste_2020-03-23_22-11-13

    比如我们的电脑,显示器等同于(view视图层),硬盘等同于(model数据层),那么电脑显示器怎么去展示硬盘里面的一个文本,还有我们在显示器输入的内容它又怎么去存储到硬盘的呢,这就得通过操作系统等同于(ViewModel视图绑定),他就完成了数据绑定和dom监听(收集操作和数据)

    优点

    视图 UI 和业务逻辑分离了,可以专注的去做各自的事情,这里可能大家就模糊了

    我举个例子,比如一个购物车,上面是商品列表,下面是总的商品数量和金额的计算,你点击上面商品的增加数量或者删除商品,下面的数据要跟着变化

    vue教程-lookroot

    如果你使用jquery这类传统开发会怎么做 触发点击事件->获取dom数据->处理数据->更新dom,那么这个就是一个取出数据又填充数据的过程

    mvvm的开发怎样做的呢,对应的位置绑定点击事件->触发事件处理数据->自动更新

    在后面学习中大家就能够理解了

    什么是spa单页面web应用

    单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。

    这样讲就太官方了其实不好理解,那我就用一点通俗的话来讲

    我们打开bilibili点击导航栏的排行选项,我们发现浏览器进行了跳转到达了另外一个页面实现了页面切换,这样的效果还包括比如404.html 每一个路径对应一个具体的页面

    vue教程-lookroot

    然后我们来看哔哩哔哩的另外一个界面,在这个界面大家可以发现,无论我怎么点击 页面也切换了路径也变化了,但是浏览器并没有重新加载一个新的页面

    vue教程-lookroot

    后者就是单页面web应用,好处大家是肉眼可见的,速度快,操作体验好

    那么是怎样实现的呢 以本节的vue举例,刚刚上图我们可以发现其实浏览器路径是变化了的,这个就是路由切换(通过hash或者pushsate),可以理解为虚拟路径,通过监控虚拟路径的变化,切换不同组件的显示,就达到了切换页面的效果

    具体这个组件和路由会在后面讲到

  • 相关阅读:
    Redis命令——小白学习 Redis 数据库日记(2017-06-13)
    Buses(形容城市公车交通情况)
    Things you need to prepare before going to airport
    bathroom words
    this指针
    友元
    成员对象和封闭类
    静态成员变量和静态成员函数、 常量对象和常量成员函数
    C++类
    shell选择语句、循环语句
  • 原文地址:https://www.cnblogs.com/lookroot/p/12968717.html
Copyright © 2011-2022 走看看