①出现这样的错误是因为 button控件的 id 名和 函数名相同了,执行的时候先找到的是HTML控件,所以会报这样的错误,修改其中一个名称就OK了。
②前
resetLocal(goods, id,price, function(i){
goods[i].flag = Number(flag)
})
后
define(()=>{
return function(goods,id,cb){
console.log()
let i = 0;
goods.some((val,idx)=>{
i = idx;
return val.id === id;
})
cb(i);
localStorage.setItem("goods", JSON.stringify(goods));
}
})
原因就是多传了一个无用的参数,按顺序,cb匹配到了price,后面实际执行的cb(i)变成了未定义
======出自10.14娜拉美妆项目烦人的bug总结
本文讲述了娜拉美妆项目中遇到的两个问题:一是button控件ID与函数名冲突导致的错误,通过修改名称得以解决;二是函数调用时多传参数引发的cb未定义问题。作者详细分析了问题原因并给出了相应的修复方法。
1万+

被折叠的 条评论
为什么被折叠?



