Vue报错之 [Vue warn]: Property or method "list" is not defined on the instance

本文分享了一个Vue新手常犯的错误案例:在修改变量名后未全局更新引用,导致程序运行异常。作者在实践中遇到将list变量名更改为lists后,忘记更新模板引用,造成程序出错的经历。文章强调了在修改变量名时,应全面检查并更新所有引用,避免潜在的错误。

在这里插入图片描述

如图:
我的过来发现了是自己下开始写了个list 数组,后面由于加了个s,

而使用时 还是用了 {{list}},

所以出现了这个问题, 主要还是命名这个东西,想好了就别改了,

后面突然想改的话,可能引发一系列的错误,

如果要改,可以先ctrl+f找找,重名的做好一改全改的准备

  • 2020/3/3,
    以上是对于刚接触vue的新手而言, 这是我曾今踩下的坑, 希望对大家有所帮助
### 解决 Vue.js 中 `rules` 属性未定义的警告 当遇到 `[Vue warn]: Property or method "rules" is not defined on the instance but referenced during render.` 的警告时,这意味着在模板中引用了名为 `rules` 的属性或方法,但在组件实例上并未定义该属性。要解决此问题,需确保 `rules` 是响应式的,在数据选项中初始化这一属性。 #### 方法一:通过 `data()` 函数初始化 `rules` 如果使用的是基于对象的组件,则可以在 `data()` 函数内声明并返回 `rules` 对象: ```javascript export default { data() { return { rules: [ { required: true, message: '请输入密码', trigger: 'blur' }, // 更多验证规则... ] }; } } ``` 这种方法适用于大多数场景下的表单验证需求[^1]。 #### 方法二:对于类风格组件 (Class-Based Components) 若是采用 TypeScript 或者其他支持 ES6 类语法的语言编写组件,则应确保在构造函数或其他生命周期钩子中初始化 `rules` 属性: ```typescript import { Component, Vue } from 'vue-property-decorator'; @Component export default class MyComponent extends Vue { private rules = [ { required: true, message: '请输入密码', trigger: 'blur' }, // 更多验证规则... ]; } ``` 这同样遵循了使属性成为响应性的原则[^2]。 另外需要注意的一点是在模板里正确地访问这些变量名;确认没有拼写错误,并且确实是从当前作用域内的上下文中获取到了它们。 最后提醒一点,假如 `rules` 实际上是由某个插件提供的话,请核查是否已成功引入相应的依赖项以及配置好全局可用的服务/工具[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值