采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
console.log(this.letter)有值;console.log(this.$refs)也有值;console.log(this.$refs['D'])也有值;但console.log(this.$refs[this.letter])就是未定义,看了其他人的提问,我也换了浏览器,也将获取字符时改成e.target.innerText也不行
我也遇到了,后来我发现是我在Alphabet页面获取数据时用的是e.target.innerHTML获取导致的,换成e.target.innerText就行了,不知道大家是不是一样的原因。
因为调代码样式时,在key值后面加了回车,用innerHTML会把回车也获取到,innerText会过滤文本前后的回车空格
对的,把那个innerHTML用length输出一下就能看出不对了
打印this.$refs会发现只有两个refs,绑定的ref="key"
只需要改成 :ref="key" 前面加个冒号就行了
this.letter你打印看看都是什么内容
我和你一样的问题
这个问题,我觉得你自己要先有思路,this.letter有问题,那么你把this.letter打印出来,看看它是否真的有问题,如果没问题,你继续分析this.$refs中,那个letter的值没有。你要把问题先确定下来,再去解决,而不是猜着改哇。
这都不用想,this.letter肯定值有问题,初始值的问题吧。你再打印仔细看看,绝对的这个问题
我也遇到这个问题了,解决不了
我也是这个问题,提示:vue.esm.js?efeb:591 [Vue warn]: Error in callback for watcher "letter": "TypeError: Cannot read property '0' of undefined",请老师帮忙解决。
老师,我也遇到了这个问题,this.letter值可以打印出来,就是点击的字母值,但是this.$refs[this.letter]结果就是undefined
登录后可查看更多问答,登录/注册
课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握
1.8k 20
1.5k 19
2.6k 17
1.3k 16
1.5k 15