Vue生命周期-核心问题

Vue生命周期-核心问题
Flaw01_vue的生命周期
问题
- Vue的生命周期是什么?
答案
- Vue的生命周期是什么?
- 从Vue实例, 创建到销毁的过程
02_vue的钩子函数
问题
- 如何知道Vue生命周期到达了什么阶段?
- 钩子函数有哪些?
答案
- 如何知道Vue生命周期到达了什么阶段?
- 使用钩子函数
- 钩子函数有哪些?
- 初始化/ 挂载/ 更新/ 销毁
03_钩子函数_初始化阶段
问题
- Vue实例从创建到编译模板执行了哪些钩子函数?
- created函数触发能获取data?
答案
- Vue实例从创建到编译模板执行了哪些钩子函数?
- beforeCreate / created
- created函数触发能获取data?
- 能获取data, 不能获取真实DOM
==练习时间:3m==
04_钩子函数_挂载阶段
问题
- Vue实例从创建到显示都经历了哪些钩子函数?
- created函数里, 能获取真实DOM吗?
- 在什么钩子函数里可以获取真实DOM?
答案
- Vue实例从创建到显示都经历了哪些钩子函数?
- beforeCreate / created / beforeMount / mounted
- created函数里, 能获取真实DOM吗?
- 不能获取真实DOM
- 在什么钩子函数里可以获取真实DOM?
- mounted
==练习时间:3m==
05_钩子函数_更新阶段
问题
- 什么时候执行updated钩子函数?
- 在哪可以获取更新后的DOM?
答案
- 什么时候执行updated钩子函数?
- 当数据发生变化并更新页面后
- 在哪可以获取更新后的DOM?
- 在updated钩子函数里
06_钩子函数_销毁阶段
问题
- 一般在beforeDestroy/destroyed里做什么?
答案
- 一般在beforeDestroy/destroyed里做什么?
- 手动消除计时器/定时器/全局事件
==练习时间:3m==
07_axios的介绍
问题
- 什么是ajax?
- ajax原理?
- axios是什么?
答案
- 什么是ajax?
- 一种前端异步请求后端的技术
- ajax原理?
- 浏览器window接口的XMLHttpRequest
- axios是什么?
- 基于原生ajax+Promise技术封装通用于前后端的请求库
08_axios_获取所有图书_get请求
问题
- axios如何发起一次get请求?
- axios函数调用原地结果是什么?
- 如何拿到Promise里ajax的成功或失败的结果?
答案
- axios如何发起一次get请求?
- 在method选项配置为true / 也可以默认不写
- axios函数调用原地结果是什么?
- 是一个Promise对象
- 如何拿到Promise里ajax的成功或失败的结果?
- then() / catch()
09_axios_获取某本图书_get传参
问题
- ajax如何给后台传参?
- axios哪个配置项会把参数自动写到url?后面
答案
- ajax如何给后台传参?
- 在url?拼接–查询字符串
- 在url路径上–需要后端特殊处理
- 在请求体/ 请求头传参给后台
- axios哪个配置项会把参数自动写到url?后面
- params
==练习时间:3m==
10_axios_添加书籍_post传参
问题
- post请求方式, 一般在哪里传递数据给后台?
- axios哪个选项, 可以把参数自动装入到请求体中?
- axios默认发给后台请求体数据格式是?
答案
- post请求方式, 一般在哪里传递数据给后台?
- 请求体中
- axios哪个选项, 可以把参数自动装入到请求体中?
- data选项
- axios默认发给后台请求体数据格式是?
- json字符串格式
==练习时间:3m==
11_axios_全局默认配置基地址
问题
- 想学习axios更多的知识应该去哪里?
- axios如何配置基地址?
答案
- 想学习axios更多的知识应该去哪里?
- 官网多阅读, 多看多总结, 任何库和插件都是
- axios如何配置基地址?
- axios.defaults.baseURL
12_ref获取原生DOM元素
问题
- Vue中如何获取原生DOM呢?
答案
- Vue中如何获取原生DOM呢?
- 用id属性或者ref属性都可以
13_ref属性_组件对象
问题
- 如何获取组件对象呢?
- 拿到组件对象能做什么?
答案
- 如何获取组件对象呢?
- 目标组件添加ref属性
- this.$refs.名字获取组件对象
- 拿到组件对象能做什么?
- 调用组件里的属性/方法
==练习时间:3m==
14_nextTick基础使用
问题
- data改变更新DOM是同步还是异步的?
- 我们可以在哪里访问到更新后的DOM呢?
答案
- data改变更新DOM是同步还是异步的?
- 异步
- 我们可以在哪里访问到更新后的DOM呢?
- this.$nextTick里的函数体
- updated生命周期钩子函数
15_nextTick使用场景
问题
- $nextTick函数原地返回什么?
- 如何在JS中主动触发标签的事件呢?
答案
- $nextTick函数原地返回什么?
- Promise对象
- 如何在JS中主动触发标签的事件呢?
- 获取到DOM对象, 调用事件方法
==练习时间:3m==
16_组件里name属性作用
问题
- 组件使用分为几步?
- 注册组件名还可以用什么?
答案
- 组件使用分为几步?
- 创建组件/ 引入组件/ 注册组件/ 使用组件
- 注册组件名还可以用什么?
- 用组件对象的name属性的值
17_购物车案例_项目初始化
问题
- 拿到项目需求–做什么?
答案
- 拿到项目需求–做什么?
- 新建项目-下载需要的包
- 分析, 拆分, 创建组件
- 准备静态标签
- 组件使用到页面
==练习时间:30s(输入命令初始化项目)==
18_购物车案例_头部自定义
问题
- 封装的组件–如何能支持不同的项目需求?
- props有哪2种定义方式, 区别是?
答案
- 封装的组件–如何能支持不同的项目需求?
- 可以自定义props变量使用
- 使用组件者, 传入具体数据
- props有哪2种定义方式, 区别是?
- props: [] - 只声明变量, 不能类型校验
- props: {} - 声明变量和校验类型规则 - 不对则报错
==练习时间:5m==
19_购物车案例_请求数据
问题
- 如何从后台获取数据?
- 如何定义全局变量?
答案
- 如何从后台获取数据?
- 依赖axios等网络请求库
- 如何定义全局变量?
- 在Vue的原型上添加, 组件对象通过原型链可以访问
20_购物车案例_数据铺设
问题
- 拿到数据如何铺设页面?
答案
- 拿到数据如何铺设页面?
- 分析数据和什么标签对应
- 传入数据对象, 在组件内使用
==练习时间:5m==
21_购物车案例_商品选中效果
问题
- label标签有什么用?
- 对象传值赋值传的是什么?
答案
- label标签有什么用?
- 关联表单, 点击label标签上, 相当于点击表单
- 对象传值赋值传的是什么?
- 传的是引用类型的堆内存地址, 多处使用共同的这个对象/数组
==练习时间:3m==
22_购物车案例_商品数量控制
问题
- 子组件改变对象里属性会影响外面数组里对象否?
- 控制输入框值合法性?
答案
- 子组件改变对象里属性会影响外面数组里对象否?
- 会, 因为对象之间引用了相同的内存地址
- 控制输入框值合法性?
- 先控制按钮, 然后侦听输入框值, 强制覆盖
==练习时间:3m==
23_购物车案例_全选
问题
- 全选和小选框, 互相影响的思路是什么?
答案
- 全选和小选框, 互相影响的思路是什么?
- 全选 – 关联计算属性 – set方法 – 同步所有小选
- 小选 – 触发计算属性的get方法 – 统计后返回全选状态
24_购物车案例_总数量
问题
- 统计选中商品的总数量思路是什么?
答案
- 统计选中商品的总数量思路是什么?
- 计算属性
- reduce累加数组里对象数量 – 但是要加一层判断
25_购物车案例_总价
问题
- 统计总价如何做的?
答案
- 统计总价如何做的?
- 计算属性
- 统计数组里的商品数量 * 商品单价(需判断选中状态)
- 只要依赖项修改, 计算属性都会重新计算总价










