goPublicPage(item, item2) { console.log(111, item.id.constructor.name); console.log(222, item2.id); this.$store.commit("setHomeDate", item2, item) switch (item.id * 1) { case 1: uni.navigateTo({ url: "../../HomePage/WorkAndStudy/WorkAndStudy" }) break; case 2: uni.navigateTo({ url: "../../HomePage/MarketingCreativity/MarketingCreativity" }) break; case 3: uni.navigateTo({ url: "../../HomePage/ShortVideo/ShortVideo" }) break; default: console.log(5555) break; } } 这段代码报错id为undefined
时间: 2024-02-24 09:56:20 浏览: 33
根据您提供的代码,可能是因为item或item2中没有id属性,导致调用时出现undefined错误。您可以在调用goPublicPage函数之前,先在控制台中打印item和item2的值,以确保它们都有id属性。
如果item或item2确实没有id属性,您需要检查调用goPublicPage函数时传递的参数是否正确,并确保您正确地设置了id属性。另外,您还可以在goPublicPage函数中添加一些错误处理代码,以捕获和处理这种情况,例如:
```
goPublicPage(item, item2) {
if (!item || !item.id || !item2 || !item2.id) {
console.error("参数错误:item或item2缺少id属性");
return;
}
console.log(111, item.id.constructor.name);
console.log(222, item2.id);
this.$store.commit("setHomeDate", item2, item);
switch (item.id * 1) {
case 1:
uni.navigateTo({
url: "../../HomePage/WorkAndStudy/WorkAndStudy"
});
break;
case 2:
uni.navigateTo({
url: "../../HomePage/MarketingCreativity/MarketingCreativity"
});
break;
case 3:
uni.navigateTo({
url: "../../HomePage/ShortVideo/ShortVideo"
});
break;
default:
console.log(5555);
break;
}
}
```
这样,如果调用goPublicPage函数时缺少id属性,就会在控制台中输出错误信息并停止执行函数。