[Vue warn]: 属性或方法未在实例上定义,但在渲染期间被引用

1,319 阅读1分钟

[Vue warn]: Property or method "obj" is not defined on the instance but referenced during render.

5-5-2.jpg

属性或方法“obj”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保此属性在数据选项中或对于基于类的组件是被动的.
看到这个报错,就说明需要去查看每一个obj的状态.首先看声明是否正确
5-5-3.jpg 使用的是常量声明,没有问题.排查使用情况. 输入 Ctrl+F 搜索发现这个对象被使用了4次 , 依此查看. 5-5-5.jpg 第一个是在最顶上,点击调用函数传参. 5-5-4.jpg 第二个是声明obj的位置 5-5-3.jpg
第三第四此,分别是打印查看与添加数据,写法没有错误.
5-5-6.jpg
在第一步就已经分析过,声明没有问题,那么就要看这一个作用域块.

5-5-7.jpg
进行比较可以发现 , 函数没有形参 , 但点击事件传了参数 , 实参中的obj来自外部 , 而外部没有声明过obj , 所以工作台报错 . 将实参中的参数去掉 , 解除bug