vue知识总结

简介: vue知识总结

vue


定义

以数据驱动视图的渐进式(轻量级)mvvm框架

响应式原理:Object.defineProperty


指令

html,text,show,if,for,model,slot,once,bind,on


修饰符

事件修饰符

.stop 阻止冒泡

.prevent 阻止默认事件

.native 绑定原生事件

指令

v-model.[number,lazy,trim]

v-bind:name.sync

键盘

.enter or .13

生命周期

beforeCreate

created

beforeMount

mounted

beforeUpdate

updated

beforedestroy

destroyed


监听和计算

watch

对数据的监听,受数据类型的影响,当监听数组或对象时需要开启deep深度监听,可以执行异步

comouted

监听一个数据并返回一个新的数据,不受数据类型的影响,并且自带缓存,会做新旧值比较,当两者相同时则不触发,不能执行异步代码,因为他需要立即返回数据


内置组件

component,keep-alice,slot


组件通信

父传子

v-bind+props,v-model


子传父

v-on+e m i t , . s y n c + ‘ emit,.sync+`emit,.sync+‘emit(‘update:prop’)`


兄弟

让父组件充当中转站。


跨级

vuex,$root,


自定义指令和过滤器

directive

控制dom行为的,比如页面打开后自动让input获取焦点


过滤器filter

在不修改原数据的情况下,返回一个处理后的值。比如购物车里给money加前缀等。


vue组件的组成部分和api

样式,dom,js;

api

data,methods,生命周期,watch,computed,components,name,props,filters,directive


data 为什么是函数

冲突问题,内存开销

插件

插件的安装Vue.use(plugin)

开发插件:一个带有install方法的对象,在install函数中使用注入的Vue实例来封装自己的插件


vuex


定义

全局状态管理器


组成部分

strict 严格模式,默认非严格模式

非严格模式下,state可以被任意修改,mutations可以执行异步

state 状态数据

数据双向相应

getters 对state计算出来的新值

mutations 用于修改state的同步函数

使用commit调用mutation

actions 执行异步且只能调用mutations来修改state

使用dispath调用action

module 模块化store

干什么的?切割vuex,让每个独立使用store的页面拥有自己的store

什么时候用?比如电商项目,每个页面除了使用全局的用户信息外,还有额外的自己独立页面使用的状态。尤其是当小组成员开发的时候,避免冲突,使用模块化。

plugins 插件

让vuex拥有没有的功能,比如vuex数据是存在内存中的,刷新页面会丢,使用vue-persust插件将数据存入本地,当刷新页面的时候优先从本地读取。


vuex执行|工作流程

state到组件,组件通过dispath调用actions进行通信,actions通过commit调用mutations修改state,state是双向数据响应的,会自动让组件更新。


辅助函数

所有api前面加map


vue-router


路由定义

根据不同的地址呈现不同的内容或页面


路由三大组成部分

router-link导航 ,router-view视图,router配置


路由的跳转方式

声明式导航(标签导航),编程式导航(js跳转方式)


路由跳转方法

push:向历史记录添加一条,

replace: 用最新的地址替换当前的历史纪录

go: 通过数字控制前进后退

back:返回上一个历史记录

路由模式

mode:


hash:锚点路由

history:历史路由, h5history对象封装的

abstract:给nodejs服务端渲染【ssr】用的(了解即可)


路由传参

query 以?开头的get请求传参方式

params 【动态路由】是显示传参,非动态路由使用params传参叫隐式传参,隐式的参数存在内存,刷新页面会丢,params传参只能通过命名路由跳转

meta 元数据,用于传参,更多情况下用于配置路由权限。


路由拦截器|路由生命周期

每一个路由守卫都有一个回调函数,该函数里有三个参数,分别是:

to:及将要进入的路由对象

from: 即将要离开的路由对象

next: 必执行函数,默认参数true,false则阻止路由跳转


全局

beforeEach(){} 前置守卫,路由权限一般写在这里

afterEach(){} 后置守卫,没有next()


组件

beforeRouterUpdate(){} 准备路由更新,使用场景:动态路由

beforeRouterLeave(){} 准备离开路由


路由类型

动态路由:一组拥有相同基础路径的路由,加载的是同一个模板。 语法/home/:id

嵌套路由:一组拥有相同基础路径的路由,加载的是不同的页面。 语法children:[{path:'hot'},component:Hot]


路由配置的api

name 路由命名

path 匹配浏览器地址栏的里的地址

component 加载组件

alias 给路由起别名

redirect 重定项

meta 元数据,用于路由配置里的传参

children 嵌套路由的api


路由实例配置

mode ,

routes,

scrollBehavior,

相关文章
|
2天前
|
缓存 JavaScript 前端开发
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
12 3
|
5天前
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
40 6
|
2天前
|
缓存 JavaScript
Vue 中 computed 与 method 的区别
【10月更文挑战第15天】computed 和 method 是 Vue 中两个重要的选项,它们在功能和特点上存在着明显的区别。理解并合理运用它们的区别,可以帮助我们构建更高效、更具可维护性的 Vue 应用。在实际开发中,要根据具体情况灵活选择使用,以满足不同的需求。
5 2
|
2天前
|
JavaScript 搜索推荐 UED
vue的自定义指令
【10月更文挑战第14天】Vue 自定义指令为我们提供了一种强大的工具,使我们能够更灵活地控制和扩展 Vue 应用的行为。通过合理地使用自定义指令,可以提高开发效率,增强应用的功能和用户体验。
|
3天前
|
JavaScript
|
5天前
|
缓存 JavaScript 前端开发
Vue 中动态导入的注意事项
【10月更文挑战第12天】 在 Vue 项目中,动态导入是一种常用的按需加载模块的技术,可以提升应用性能和效率。本文详细探讨了动态导入的基本原理及注意事项,包括模块路径的正确性、依赖关系、加载时机、错误处理、缓存问题和兼容性等,并通过具体案例分析和解决方案,帮助开发者更好地应用动态导入技术。
|
5天前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
|
5天前
|
JavaScript 算法 前端开发
深入剖析Vue中v-for的使用及index作为key的弊端
深入剖析Vue中v-for的使用及index作为key的弊端
14 2
|
4天前
|
JavaScript UED
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
【10月更文挑战第5天】本示例展示了如何在 Vue.js 中使用 Element UI 组件实现动态添加和删除嵌套表单项。该表单包含设备信息、设备部位及其对应的任务列表,支持用户动态添加设备部位和任务,并提供相应的表单验证规则。
24 0
Vue + ElementUI 实现动态添加和删除表单项的多层嵌套表单
|
5天前
|
JavaScript
《进阶篇第9章》学习vuex知识点后练习:求和案例_纯vue版代码
《进阶篇第9章》学习vuex知识点后练习:求和案例_纯vue版代码
11 1