尚硅谷项目学习回顾|进度70%

1.节流和防抖的区别

节流(throttle):频繁执行事件,减少执行的次数。固定间隔时间内只执行一次。

import _ from 'lodash'
_.throttle(回调函数,间隔时间)

防抖:多次执行,只执行最后一次。

2.全局事件总线

步骤
1)在main.js注册全局事件

beforeCreate(){
	Vue.prototype.$bus=this
}

发送监听事件组件

this.$bus.$emit('事件名',参数)

接收数据组件

this.$bus.$on('事件名',回调函数)

3.放大镜的使用

页面结构存在幕布和遮罩两部分。
1)添加@mousemove=“hander”鼠标移动事件,大图片添加ref属性值为bigImg,给遮罩添加ref属性值为mask.

	<!-- 幕布 -->
    <div class="event" @mousemove="hander"></div>
    <div class="big" >
      <img :src="imgObj.imgUrl" ref="bigImg"/>
    </div>
    <!-- 遮罩层 -->
    <div class="mask" ref="mask"></div>`

2)编写hander函数

hander(event){
		let mask=this.$ref.mask;
		let big=this.$ref.bigImg;
		let left=event.offsetX-(mask.offsetWidth)/2
		let top=event.offsetY-(mask.offsetHeight)/2
 	 // 加约束
        if(left<0){
          left=0;
        }else if(left>=mask.offsetWidth){
          left=mask.offsetWidth;
        }
        if(top<0) {
          top=0;
        }else if(top>=mask.offsetHeight){
          top=mask.offsetHeight;
        }
		mask.style.left=left+'px';
		mask.style.top=top+'px';\
		big.style.left=-2*left+'px'
		big.style.top=-2*top+'px'
}

3.promise

1.非空字符串返回值表示promise成功,Promise.reject(new Error(‘faile’))表示promise失败;
2.async返回值是一个promise对象,所以用户在点击加入购物车按钮时,会将商品信息提交到数据库,仓库中的action会返回一个promise对象给加入购物车事件函数,将该事件函数写成async函数,使用try和catch方法来编写添加成功与失败的业务。

4.uuid

使用uuid获取游客身份标识,在仓库中添加uuid_token=‘’;属性,在项目中创建uuid_token.js编写一个对外暴露的函数,用于生成本地游客id,每次打开关闭浏览器id不会变。然后将仓库引入axios二次封装js文件中,在请求拦截器中编写代码实现请求头中添加游客id.

user_token.js
import { v4 as uuidv4 } from 'uuid';

// 对外暴露一个函数,用于生成游客身份标识uuid_token,用户每次登录生成的id都一样,不会发生变化
export const getUUID=()=>{
    //定义一个uuid,在本地仓库中查找
    let uuid_token=localStorage.getItem('UUIDTOKEN');
    //第一次登陆
    if(!uuid_token){
        uuid_token=uuidv4();
        localStorage.setItem('UUIDTOKEN',uuid_token);
    }
    return uuid_token;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值