• 综合react和angular的优点,使用MVVM模式,是一款高性能高效率的框架

    • MVC
      • 模型(model)-视图(view)-控制器(control)模型
    • MVP
      • 模型(model)-视图(view)-(presenter)在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,及View。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。
    • MVVM模式
      • 模型(model)-视图(view)-(ViewModel)
  • vue实例(只有实例中的属性和方法才能在视图中使用)

    • 属性
      • 内置属性 以$开头
      • 私有属性 以_开头
      • 自定义属性
        • 在vue进行实例化时,会遍data/computed/methods等中的所有属性和方法,并写入vue实例
    • 方法
      • $set() Vue.set()的别名
      • $delete() Vue.delete()的别名区别:delete会删除数组的值(只能删除对象),但是依然会占据位置;vue.delete会删除数组在内存中的占位
      • $watch() 等效于watch选项
        • this.$watch('监听名称',(new,old)=>{ })
    • 配置选项
      • el 目标元素
      • data 配置数据
      • methods 方法
      • computed 计算属性
      • watch 监听属性
    • 指令 特殊的html属性
      • v-text 显示文本
      • v-html 显示html内容
        • 必须保证内容安全才能使用v-html,避免xss攻击
      • v-pre 渲染代码
      • v-once
        • 只编译一次,后期不会有监听效果,一般用于优化性能
      • v-cloak
        • 指令一般出现在标签属性中,直到数据渲染完成,一般用于解决数据闪现问题
      • v-on、v-bind、v-model、v-if、v-show
      • 自定义指令
        • 分类
          • 全局指令
          • 局部指令
        • 完整指令格式
          • v-name:arg.modifiers="value"
          • name 指令名称
          • arg 参数
          • modifier 修饰符(对象形式)
          • value 值
        • 指令钩子函数
          • bind:初始化时执行(默认)
          • inserted:元素插入页面时执行
          • update:所在模板更新时执行
          • componentUpdated:所在模板完成一次更新周期时调用
          • unbind:指令与元素解绑时执行
          • 函数参数
            • el 指令所绑定的元素,可以用来直接操作 DOM
            • binding 一个对象,包含以下案例中的属性
            • vnode
            • oldVnode仅在update和componUpdated钩子中可用
        • 定义
          • 全局 Vue.directive(name,definition)

          • 局部 vue实例的directives

  • 数据绑定

    • 数据单向绑定

      • 双花括号{{}}标签内部值(插值写法)
      • v-bind 标签属性值
        • vue对class和style属性做了优化,可以使用对象、数组及其结合,以动态切换属性值

    • 数据双向绑定

      • v-model (只是一个语法糖)一般用于输入框
      • 原理:
        • model->view
          • 修改数据层,视图层自动更新
          • 监听数据变化(getter取值函数,setter存值函数)并刷新视图
        • view->model
          • 修改视图层,数据层自动更新
          • 事件监听表单变化,并修改数据
        • 等同于
          • v-bind+v-on
          • $event.target.value
  • 事件绑定

    • v-on :event = “驱动函数” (简写@)
    • $event.target 元素目标
    • 按键修饰符
      • 直接使用键码作为修饰符
      • 使用案件别名做为修饰符
    • 事件对象
  • 循环渲染

  • 条件渲染

  • ref对象

  • computed计算属性计算属性、监听属性与方法的对比:计算属性和方法达到的效果相同,但计算属性是基于响应式进行缓存的,只在相关响应式发生变化时才会重新求值,而不必再次执行函数,所以应优先选择computed属性;计算属性与监听属性 只用于监听数据的变化,同样优先选择计算属性

  • watch 监听属性

  • 组件

  • vue的生命周期

  • vue-router

  • Vuex

  • Vue3