你有没有遇到过「属性或方法未在实例上定义,但在渲染期间被引用」的情况?你怎么看?
回答·3
最热
最新
- 能怎么看啊,怪你粗心大意,怪你 cv 一时爽,bug 火葬场 咱合格的 cv 工程师在 cv 这块一定要认真认真再认真,仔细仔细再仔细 就拿这个 vue 项目来说吧,template 算一块,data 算一块,methods 算一块,还有什么 computed、watch……总之呢 cv 之前一定要先把这几块都看一遍,理一理依赖关系,差不多有个数了就开始神圣的 cv 工作了 先 cv data 这块,管他数据多不多整块 cv 就是了,然后是 methods,再接着是 created、mounted 声明周期函数,这里面一般不做复杂运算,依赖减少就不容易错,然后是 computed、watch,最后是 template 按照这个步骤来基本上 bug 率会降一半,然后就是看 IDE 的提示了,vscode webstorm 等优秀的工具都会有相应的提示,什么没用到什么用到了没声明还有冗余代码一个一个删改 如果这都还能 bug,只能说你们公司的项目开发的真的太拉了,明显就没有调理
- 未在实例上定义,那就一定是你在代码里面直接进行了赋值操作,在 mounted 之前赋值到 data 的属性,在渲染的时候是可以通过引用访问到的,这就导致在渲染的时候有内容。
- 这种是最基础的问题,大概有三个可能,第一你的外部文件没有引用成功,导致其中的某个方法无法使用,第二,该方法没有声明或者在渲染后才被声明,三,你根本就没有写或者引用这个方法