一,生命周期
1.1什么是生命周期?
也叫Vue生命周期钩子,就是Vue实例在某一时间点自动执行的函数。
1.2生命周期的函数有那些?分为几个阶段?
(1)创建阶段
beforecreate 实例创建之前,没有data methods this
created 实例创建之后,可以使用data methods this
beforemount 组件挂载之前
mounted 组件挂载之后
(2)运行阶段
beforeupdate 数据,视图更新之前
updated 数据 视图更新之后
(3)销毁阶段
beforeDestory 组件销毁之前 最后一个能使用 data 和 methods 的钩子函数
destoryed 组件销毁之后
除了这些常用的八个,还有3个不常用的
activated 组件激活
deactivated 组件停用
errorCaptured 子组件出错的时候会触发这个钩子函数
1.3项目开发中 在生命周期中都做过那些功能
常用 created 或者 mounted 中发送 http 请求
created 与 mounted 的区别 :created 是在视图渲染完成前请求,mounted 是在视图渲染完成后请求 created 比 mounted 请求的早,一般请求数据用 created 或者 获取本地存储的数据 ,但mounted 可以操作 Dom 元素
1.4 页面第一次加载父子组件生命周期的执行顺序是?
父:beforeCreatate
父:created
父:beforemounte
子:beforeCreatate
子:created
子:beforeMounte
子:mounted
父:mounted
vueX 的理解
vuex 是 vue 的状态管理工具 管理项目中的公共数据 能够在所有的组件中使用
一共有五大核心
state 存放公共数据的地方 通过 this.$store.state.xxx调用
mutations 修改 state 的地方 只有这里能修改 通过this.$store.commit 调用
getters 相当于是之前的计算属性 通过 this.$store.getters 调用
actions 执行异步操作的地方 通过 this.$store.dispatch 调用
modules 模块化
vuex 缺点就是刷新数据会丢失 我们可以保存本地存储 或者 安装 vuex 持久化插件 vuex-persist 去实现自动本地存储
vuex 的执行机制
我在项⽬当中如果要改变 state 的状态,我们⼀般是在组件⾥⾯调⽤ this.$store.dispatch ⽅式来触发 actions ⾥⾯的⽅法,在 actions
⾥⾯的⽅法通过 commit 来调⽤ mutations ⾥⾯定义的⽅法来改变 state,同时这也是 vuex 的执⾏机制
怎么开启严格模式
strict: true, 跟 state 同级的地方设置这个属性
开启完严格模式后 如果不是通过 mutation 修改的 state 就会报错
strict 严格模式只适合开启在开发环境下
modules
把仓库里的数据分模块管理
每个模块里又有四个核心 state mutations getters actions
然后引入仓库 并且在 modules 下注册模块
在定义的 modules 里开启一个命名
namespaced:true
vue 的路由模式,
vue 的路由模式⼀共有两种,分别是哈希和 history.他们的区别是 hash 模式不会包含在 http 请求当中,并且 hash 不会重新加载⻚⾯,⽽使⽤ history 模式的话,如果前端的 url 和后端发起请求的 url 不⼀致的话,会报 404 错误,所以使⽤ history 模块的话我们需要和后端进⾏配合.