请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

this.$refs['D']有值但this.$refs[this.letter]就是未定义

 console.log(this.letter)有值;console.log(this.$refs)也有值;console.log(this.$refs['D'])也有值;但console.log(this.$refs[this.letter])就是未定义,看了其他人的提问,我也换了浏览器,也将获取字符时改成e.target.innerText也不行

正在回答 回答被采纳积分+3

6回答

Gniting 2018-12-10 08:42:36

我也遇到了,后来我发现是我在Alphabet页面获取数据时用的是e.target.innerHTML获取导致的,换成e.target.innerText就行了,不知道大家是不是一样的原因。

2 回复 有任何疑惑可以回复我~
  • 因为调代码样式时,在key值后面加了回车,用innerHTML会把回车也获取到,innerText会过滤文本前后的回车空格
    回复 有任何疑惑可以回复我~ 2020-07-03 11:42:24
  • 对的,把那个innerHTML用length输出一下就能看出不对了
    回复 有任何疑惑可以回复我~ 2020-08-09 15:57:39
慕仙6955773 2019-12-12 13:58:48

打印this.$refs会发现只有两个refs,绑定的ref="key"https://img1.sycdn.imooc.com/szimg/5df1d68709e6265504640100.jpg

只需要改成 :ref="key"  前面加个冒号就行了

0 回复 有任何疑惑可以回复我~
Dell 2018-12-16 23:17:55

this.letter你打印看看都是什么内容

0 回复 有任何疑惑可以回复我~
weibo_恩亲加佳_0 2018-12-14 10:52:21

我和你一样的问题

0 回复 有任何疑惑可以回复我~
Dell 2018-12-09 14:37:25

这个问题,我觉得你自己要先有思路,this.letter有问题,那么你把this.letter打印出来,看看它是否真的有问题,如果没问题,你继续分析this.$refs中,那个letter的值没有。你要把问题先确定下来,再去解决,而不是猜着改哇。

0 回复 有任何疑惑可以回复我~
Dell 2018-07-26 23:25:25

这都不用想,this.letter肯定值有问题,初始值的问题吧。你再打印仔细看看,绝对的这个问题

0 回复 有任何疑惑可以回复我~
  • 我也遇到这个问题了,解决不了
    回复 有任何疑惑可以回复我~ 2018-12-08 13:42:34
  • 我也是这个问题,提示:vue.esm.js?efeb:591 [Vue warn]: Error in callback for watcher "letter": "TypeError: Cannot read property '0' of undefined",请老师帮忙解决。
    回复 有任何疑惑可以回复我~ 2018-12-13 16:15:33
  • DenGe1 #3
    老师,我也遇到了这个问题,this.letter值可以打印出来,就是点击的字母值,但是this.$refs[this.letter]结果就是undefined
    回复 有任何疑惑可以回复我~ 2019-02-04 11:55:29
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信