-
综合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钩子中可用
- 定义
-
数据绑定
-
数据单向绑定
- 双花括号{{}}标签内部值(插值写法)
- v-bind 标签属性值
-
数据双向绑定
- 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