当加入购物车会出现输入问题:
若输入个数为字符串,汉字,负数等时,需要排除这些情况:
注意: 当一个字符串 * 1时, 得出为NaN. 也可以用到isNaN()函数判断是否为NaN, 若为NaN,则返回为true,否则为false.
以下方法解决这个问题:
changeSkuNum(event){
// 让输入进来的文本*1,若里面带有非数字的字符则*1就会输出NaN
let value = event.target.value * 1;
// 如果输入进来非法,出现NAN或者为负数
if(isNaN(value) || value < 1){
this.skuNum = 1
}else{
// 正常情况
this.skuNum = parseInt(value)
}
}
---
进行路由跳转时, 想将该路由信息传递给跳转路由可以使用的方法:
1. 使用query参数传递:
this.$router.push({name:'addcartsuccess', query:{
skuInfo: this.skuInfo,
}})
2. 本地存储和会话存储(HTML5新增的):
本地存储: 持久化
会话存储: 并非持久化
注意: 本地存储|会话存储 一般都是以字符串的形式存储.
---
uuid:(ctrl +f 查找)
array.every():是 JavaScript 数组的一个方法,用于检查数组中的每个元素是否都满足某个条件。
该方法接受一个回调函数作为参数,这个回调函数会被应用到数组中的每个元素上。回调函数会被传入当前元素的值、索引和数组本身作为参数。回调函数应返回一个布尔值,表示当前元素是否满足条件。
array.every()
方法会遍历数组中的每个元素,直到满足以下条件之一:
- 所有元素都满足条件,即回调函数返回的布尔值都为
true
。- 遇到一个不满足条件的元素,即回调函数返回的布尔值为
false
。
const numbers = [1, 2, 3, 4, 5];
const allGreaterThanZero = numbers.every(function(number) {
return number > 0;
});
console.log(allGreaterThanZero); // 输出 true
---
处理错误机制:
try
和 catch
是 JavaScript 中的错误处理机制,用于捕获和处理代码中的异常。
try
和 catch
形成一个代码块,其中的代码会被封装在 try
中,然后当 try
块中的代码发生异常时,程序会停止执行 try
块中的代码,并跳转到 catch
块中进行错误处理。
try {
// 可能会产生异常的代码
} catch (error) {
// 异常处理代码
}
当 try
块中的代码执行时发生异常时,异常会被抛出,并且程序会跳转到 catch
块中执行。catch
块中的 error
参数是一个表示异常信息的对象,在 catch
块中可以通过该对象访问异常的相关信息。