iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue踩坑记录:属性报undefined错误问题
  • 340
分享到

vue踩坑记录:属性报undefined错误问题

2024-04-02 19:04:59 340人浏览 独家记忆
摘要

目录Vue属性报undefined错误最终解决方法vue之各种报错问题vue属性报undefined错误 在一个组件里,通过props传值进去对象,在控制台打印报错误信息,提示某属性

vue属性报undefined错误

在一个组件里,通过props传值进去对象,在控制台打印报错误信息,提示某属性不存在。

例如:

<div>{{data.param.aaa}}</div>

类似这种的,取对象子级下面的值,就报了undefined。

原因应该是在初始传值,最多默认 data={}。

我尝试在props里设置好默认值,但是依然报错

这么设置的props:

props:{
    data:Object,
    default:function(){
       return {
             param:''
        }
    }
}

这么设置,依然报错。 这个报错,应该是在父组件初始化了 data={}导致的。

最终解决方法

<div v-if="data.param">{{data.param.aaa}}</div>

加一个if判断,就可以了。

vue之各种报错问题

1 、undefined is not iterable!或者null is not iterable!"

在这里插入图片描述

null和undefine是不可以拿来循环的,拿来循环就会报上面这个错误,循环的时候判断一下,不为null或者undefine的时候再拿来循环就可以了~~

2、Duplicate keys detected: ‘funs1’. This may cause an update error.

在这里插入图片描述

原因: key值不唯一

解决: 仔细检查是否用了同一个数据循环且:key值相同,如果相同给第二个key随便加一个标记就可以,如下:

:key=“index + ‘-only’”

3、报错内容:Maximum call stack size exceeded

在这里插入图片描述

这个一般都是路由的堆栈溢出的原因

说白了就是你写了死循环。

比如我的这个代码哈:


router.beforeEach((to, from, next) => {
	if (ifManager  || str) {
        next()
    } else {
        next(false);
        router.push('/login')
    }
})

解决办法就是:判断条件改一下就可以了

fManager || str|| to.path == '/login'

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue踩坑记录:属性报undefined错误问题

本文链接: https://www.lsjlt.com/news/145655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作