VUE 7

订单结算台 - 购物车结算

1. 跳转传递查询参数 mode="cart" 和 cartIds
2. 页面中 $route.query 接收参数
3. 调用接口,获取数据
4. 基于数据渲染

立即购买结算

1. 跳转传递查询参数
mode="buyNow", goodsId, goodsSkuId, goodsNum
2. 页面中 $route.query 接收参数
3. 调用接口,获取数据
4. 基于数据渲染
5. 未登录时,确认框的复用 (mixins混入)

提交订单并支付

1. 封装通用请求方法
2. 买家留言绑定
3. 注册事件,调用方法提交订单并支付

打包发布

说明:vue脚手架工具已经提供了打包命令,直接使用即可。
命令:yarn build
结果:在项目的根目录会自动创建一个文件夹`dist`, dist中的文件就是打包后的文件,只需要放到服务器中即可。
配置:默认情况下,需要放到服务器根目录打开,如果希望双击运行,需要配置publicPath 配成相对路径

打包优化:路由懒加载

说明:当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同
的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。

使用create-vue创建项目
1. 前提环境条件
已安装 16.0 或更高版本的 Node.js
node -v
2. 创建一个Vue应用
npm init vue@latest
这一指令将会安装并执行 create-vue

关键文件:
1. vite.config.js - 项目的配置文件 基于vite的配置
2. package.json - 项目包文件 核心依赖项变成了 Vue3.x 和 vite
3. main.js - 入口文件 createApp函数创建应用实例
4. app.vue - 根组件 SFC单文件组件 script - template - style
变化一:脚本script和模板template顺序调整
变化二:模板template不再要求唯一根元素
变化三:脚本script添加setup标识支持组合式API
5. index.html - 单页入口 提供id为app的挂载点

1. setup选项的执行时机?
beforeCreate钩子之前 自动执行
2. setup写代码的特点是什么?
定义数据 + 函数 然后以对象方式return
3. <script setup>解决了什么问题?
经过语法糖的封装更简单的使用组合式API
4. setup中的this还指向组件实例吗?
指向undefined

1. reactive和ref函数的共同作用是什么 ?
用函数调用的方式生成响应式数据
2. reactive vs ref ?
1. reactive不能处理简单类型的数据
2. ref参数类型支持更好但是必须通过.value访问修改
3. ref函数的内部实现依赖于reactive函数
3. 在实际工作中推荐使用哪个?
推荐使用ref函数,更加灵活统一

1. 计算属性中不应该有“副作用”
比如异步请求/修改dom
2. 避免直接修改计算属性的值
计算属性应该是只读的,特殊情况可以配置 get set

watch函数
作用: 侦听一个或者多个数据的变化,数据变化时执行回调函数
俩个额外参数:1. immediate(立即执行) 2. deep(深度侦听)

1. 作为watch函数的第一个参数,ref对象需要添加.value吗?
不需要,第一个参数就是传 ref 对象
2. watch只能侦听单个数据吗?
单个 或者 多个
3. 不开启deep,直接监视 复杂类型,修改属性 能触发回调吗?
不能,默认是浅层侦听
4. 不开启deep,精确侦听对象的某个属性?
可以把第一个参数写成函数的写法,返回要监听的具体属性

1. 组合式API中生命周期函数的格式是什么?
on + 生命周期名字
2. 组合式API中可以使用onCreated吗?
没有这个钩子函数,直接写到setup中
3. 组合式API中组件卸载完毕时执行哪个函数?
onUnmounted

组合式API下的父传子

1. 父组件中给子组件绑定属性
2. 子组件内部通过props选项接收
 

组合式API下的子传父

1. 父组件中给子组件标签通过@绑定事件
2. 子组件内部通过 emit 方法触发事件
父传子
1. 父传子的过程中通过什么方式接收props?
defineProps( { 属性名:类型 } )
2. setup语法糖中如何使用父组件传过来的数据?
const props = defineProps( { 属性名:类型 } )
props.xxx
子传父
1. 子传父的过程中通过什么方式得到emit方法?
defineEmits( [‘事件名称’] )
2. 怎么触发事件
emit('自定义事件名', 参数)

模板引用

通过ref标识获取真实的dom对象或者组件实例对象

1. 获取模板引用的时机是什么?
组件挂载完毕
2. defineExpose编译宏的作用是什么?
显式暴露组件内部的属性和方法

跨层传递方法
顶层组件可以向底层组件传递方法,底层组件调用方法修改顶层组件中的数据

1. provide和inject的作用是什么?
跨层组件通信
2. 如何在传递的过程中保持数据响应式?
第二个参数传递ref对象
3. 底层组件想要通知顶层组件做修改,如何做?
传递方法,底层组件调用方法
4. 一颗组件树中只有一个顶层或底层组件吗?
相对概念,存在多个顶层和底层的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值