vue类别菜单

<!--      类别菜单-->
<div class="good-menu">
    <ul v-for="(item, index) in icons" :key="index">
        <li>
            <i class="iconfont" v-html="item.value"></i>
            <!--              跳转到goodList页面,参数为类别id-->
            <span v-for="(category, index2) in item.categories" :key="index2">
                <router-link :to="{ path: '/goodlist', query: { categoryId: category.id },}">
                    <a href="/person"><span> {{ category.name }}</span></a>
                </router-link>
                <span v-if="index2 != item.categories.length - 1">
                    /
                </span>
            </span>
        </li>
    </ul>
</div>

data:

//分类icon,每个icon包含id、value、categories对象数组.category:id,name
icons: []

created(){

this.request
    .get("/api/icon")
    .then((res) => {
        if (res.code === "200") {
            this.icons = res.data;
            if (this.icons.length > 6) {
                // 截取前六个分类
                this.icons = this.icons.slice(0, 6);
            }
        }
    })
    .catch((e) => {

这段代码是一个 Promise 的 catch 方法的回调函数。在这个回调函数中,首先通console.log(e) 打印出错误对象 e,以便进行调试和查看错误信息。

然后,它使用条件语句检查错误对象的 response 属性和 response.data 属性是否为 undefined。如果其中之一或两者都是 undefined,则表示错误对象不符合预期的结构,可能是一个未知的错误类型或格式。在这种情况下,代码会调用 this.$message 方法显示一个错误提示框给用户,内容为错误对象 e 的值(即完整的错误对象)。

通过这样的处理,无论错误对象的结构如何,用户都可以看到出错信息,并且在控制台中也能够看到完整的错误对象以帮助调试。

        console.log(e);
        if (e.response == undefined || e.response.data == undefined) {
            this.$message({
                showClose: true,
                message: e, 
                type: "error",
                duration: 5000,
            });
        } else {
            this.$message({
                showClose: true,//显示关闭按钮,用户可以手动关闭提示框。
                message: e.response.data,//设置提示框的内容为 e.response.data,即从请求返回的响应数据中 获取的错误信息。 
                type: "error",//设置提示框的类型为错误类型,会使用红色的样式来表示错误。
                duration: 5000,//设置提示框的持续时间为 5000 毫秒,即 5 秒。
            });
        }
    });

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值