109~133笔记

Toast 轻提示

注册安装:

import { Toast } from 'vant'

Vue.use(Toast)

两种使用方式

① 导入调用(组件内或非组件中均可)

import { Toast } from 'vant'

Toast('提示内容')

② 通过this直接调用(必须组件内)

本质:将方法,注册挂载到了Vue原型上 Vue.prototype.$toast = xxx

this.$toast('提示内容')

import { Toast } from 'vant'

Toast('嘿嘿,你好哇')

全部导入

import Vant from 'vant'

import 'vant/lib/index.css'

插件安装初始化:内部会将所有的vant所有组件进行导入注册

Vue.use(Vant)

登录功能

步骤分析:

阅读接口文档,封装登录接口

登录前的校验(手机号,图形验证码,短信验证码)

调用方法,发送请求,成功添加提示并跳转

响应拦截器统一处理错误提示:通过响应拦截器,统一处理接口的错误提示

问题:每次请求,都有可能会错误,就都需要错误提示

说明:响应拦截器是咱们拿到数据的第一个数据流转站,可以在里面统一处理错误。只要不是 200,就给默认提示,抛出错误

添加请求 loading 效果:统一在每次请求后台时,添加 loading 效果

背景:有时候因为网络原因,一次请求的结果可能需要一段时间后才能回来,此时,需要给用户添加 loading 提示。

添加 loading 提示的好处:

节流处理:防止用户在一次请求还没回来之前,多次进行点击,发送无效请求

友好提示:告知用户,目前是在加载中,请耐心等待,用户体验会更好

实操步骤:

请求拦截器中,每次请求,打开 loading

响应拦截器中,每次响应,关闭 loading

所有的路由在真正被访问到之前(解析渲染对应组件页面前),都会先经过全局前置守卫

只有全局前置守卫放行了,才会到达对应的页面

全局前置导航守卫

to: 到哪里去,到哪去的完整路由信息对象(路径,参数)

from: 从哪里来,从哪来的完整路由信息对象(路径,参数)

next(): 是否放行

(1) next() 直接放行,放行到to要去的路径

(2) next(路径) 进行拦截,拦截到next里面配置的路径

页面访问拦截

目标:基于全局前置守卫,进行页面访问拦截处理

路由导航守卫 - 全局前置守卫

所有的路由一旦被匹配到,都会先经过全局前置守卫

只有全局前置守卫放行,才会真正解析渲染组件,才能看到页面内容

访问权限页面时,拦截或放行的关键点?→ 用户是否有登录权证 token

router.beforeEach((to, from, next) => {

  1. to 往哪里去,到哪去的路由信息对象

  2. from 从哪里来,从哪来的路由信息对象

  3. next() 是否放行

next()调用,就是放行

next(路径) 拦截到某个路径页面

})

加入购物车 - 封装数字框组件:封装弹层中的数字框组件

分析:组件名 CountBox

静态结构,左中右三部分

数字框的数字,应该是外部传递进来的 (父传子)

点击 + - 号,可以修改数字 (子传父)

使用 v-model 实现封装 (:value 和 @input 的简写)

数字不能减到小于 1

判断 token 是否存在

  1. 如果 token 不存在, 弹确认框

  2. 如果 token 存在,继续请求操作

消息确认用于确认消

confirmButtonText 确认按钮文案

cancelButtonText 取消按钮文案

购物车模块

说明:购物车 数据联动关系 较多,且通常会封装一些小组件,所以为了便于维护,一般都会将购物车的数据基于 vuex 分模块管理

需求分析:

基本静态结构 (快速实现)

构建 vuex cart 模块,获取数据存储

基于 数据 动态渲染 购物车列表

封装 getters 实现动态统计

全选反选功能

数字框修改数量功能

编辑切换状态,删除功能

空购物车处理

加入购物车

goodsId => 商品id

goodsSkuId => 商品规格id

后台返回的数据中,不包含复选框的选中状态,为了实现将来的功能

需要手动维护数据,给每一项,添加一个 isChecked 状态(标记当前商品是否选中)

相关推荐
学渣676567 分钟前
mac连接lniux服务器教学笔记
服务器·笔记·macos
潇-xiao19 分钟前
Qt 通过控件按钮实现hello world + 命名规范(7)
c++·笔记·qt
草莓熊Lotso1 小时前
【C语言】--指针超详解(二)
c语言·开发语言·经验分享·笔记
MayByte2 小时前
全连接神经网络学习笔记
笔记·神经网络·学习
大白的编程日记.2 小时前
【Linux学习笔记】基础IO之理解文件
linux·笔记·学习
周之鸥2 小时前
Ubuntu 服务器管理命令笔记
服务器·笔记·ubuntu
笑容温暖城寨2 小时前
FISCO BCOS【初体验笔记】
笔记
1nv1s1ble6 小时前
React 笔记[1] hello world
前端·笔记·react.js
sealaugh326 小时前
AI(学习笔记第二课) 使用langchain进行AI开发
人工智能·笔记·学习
HappyAcmen6 小时前
线代第二章矩阵第五、六、七节矩阵的转置、方阵的行列式、方阵的伴随矩阵
笔记·学习·线性代数·矩阵