Vue概论

[1]对MVVM的理解

MVVM
[1]定义
  • M:model
    • 模型
    • 作用:负责数据存储。泛指后端进行的各种业务逻辑处理和数据操控,主要围绕数据库系统展开;
  • V:view
    • 视图
    • 作用:用来展示数据的用户界面,主要由 HTML 和 CSS 来构建;
  • VM:view-model
    • 视图模型
    • 作用:业务逻辑处理,将数据进行加工后交给视图进行展示。Vue的实例化对象就是MVVM模式中的VM层,模型通过它可以将数据绑定到页面上,视图可以通过它将数据映射到模型上;
  • MVVM是数据驱动视图更新,三大框架都是使用MVVM的设计模式;
[2]优点
  • 1.低耦合性(简化了业务与视图的依赖):
    • 视图(界面)可以独立于Model(数据)变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变
    • 注:低耦合性定义:就是A模块与B模块存在依赖关系,那么当B发生改变时,A模块仍然可以正常工作,那么就认为A与B是低耦合的。
  • 2.可重用性
    • 可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑
  • 3.可以独立开发
    • 开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计;
MVC
  • M:model(模型),与数据库进行交互;
  • V:view(界面)
  • C:controller(控制器),是模型与视图之间的纽带;

MVC是Model-View-Control的缩写,是一种典型的软件设计模式,使用业务逻辑,数据,界面相分离的方式编写代码,将业务逻辑写在一个部件里面,当设计个性化界面以及用户交互的时候,不需要重写业务逻辑;

MVC与MVVM之间的区别

其实MVVM是MVC的改良版;

MVVM与MVC最大的区别就是:MVVM是数据驱动模型MVVM实现了View和Model的自动同步,也就是当Model的属性改变时,我们不用再自己手动操作Dom元素来改变View的显示,而是改变属性后该属性对应View层显示会自动改变;

[2]定义

Vue是一个用于构建用户界面的渐进式javascript框架。

如何理解渐进式框架

所谓渐进式就是在使用vue时不必将vue所有的内容引入,而是使用哪部分就引入哪部分,渐进式框架的优点就是最大程度的避免资源浪费。

vue的特点

[1]数据驱动:Vue会根据数据,自动渲染页面;无需DOM操作,修改了对象中的数据,页面会自动渲染(双向数据绑定的原理)
[2]组件化开发: 允许将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、javascript以用来渲染网页中相应的地方(组件化开发);

  • 优点
    • 一次定义,多处使用
    • 便于后期维护

[3]使用

官网->安装

(1)制作原型或学习
vue2.x

在这里插入图片描述
通过上述引入可以在界面中得到一个Vue构造函数;

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.7.10"></script>
  </head>
  <body>
    <div id="app">{{msg}}</div>
    <script>
      const vue = new Vue({
        el: '#app',
        data: {
          msg: 111
        }
      })
    </script>
  </body>
</html>

上述代码在页面中展现111

vue3.x

制作原型学习
在这里插入图片描述
引入上述链接之后,可以得到一个Vue对象,该对象上存在createApp构造函数以及一些组合API。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
  <button id="app">{{ msg }}</button>
  <script>
    const { createApp, ref } = Vue
    createApp({
      setup(){
        const msg = ref('111111')
        return{
          msg
        }
      }
    }).mount('#app')
  </script>
</body>
</html>
(2)使用脚手架创建项目进行开发

vue脚手架的使用

[4]知识点

(1)挂载点

挂载点概括

  • 1.挂载点的作用是什么
  • 2.若是没有设置挂载点会导致什么后果
  • 3.$el 与 $mount的优先级
(2)指令

vue指令概括

  • 指令的本质
  • 指令的作用
  • 说出自己知道的指令
  • 插值表达式与v-text与v-html的区别
  • class与style样式绑定
  • v-for与v-if的优先级
  • v-if与v-show的区别
  • v-clock的使用
(3)data

data概括

  • 为什么data是一个函数
  • 数据双向绑定原理
  • 如果不想将数据做成响应式应该如何处理
  • 修改数据,视图没有发生变化的原因?怎样解决
  • key值的作用
(4)methods
vue方法中的this指向

vue会将data对象与methods对象中的成员 平铺到 vue实例中,所以methods中的方法相当于vue实例化对象调用的,this指向vue实例化对象;

vue事件传参

vue中每一个事件方法都有一个默认参数 , 就是事件对象;

  • 如果主动给事件传参,则传递的参数 会 覆盖默认参数
  • 如果希望同时传入事件对象 + 自定义参数,则可以使用 $event
    • v-on:事件名=“方法名($event,自定义参数)”

(5)Vue生命周期

Vue生命周期函数详解

  • 生命周期时顺序一个一个执行的码?
  • 最早可以得到data数据的是哪个生命周期函数
  • 最早可以得到渲染之后的dom对象的是哪个生命周期函数
(6)computed+watch+filter

watch+computed+filter

  • computed和watch区别和应用场景
(7)组件化开发

组件化开发

  • 注册组件的几种方式
  • 组件间通信的几种方式
  • 父子组件的渲染过程
(8)Vue全家桶
[1]vue-cli脚手架

vue-cli

[2]路由

vue-router

  • 路由的两种导航方式;
  • $route 与 $router 的区别
  • 路由的三种传参方式
  • 说出你知道的导航守卫
[3]axios
[4]Vuex

Vuex共享数据管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值