请稍等 ...
×

采纳答案成功!

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

使用this.$refs[this.letter]取到结果为undefined

老师您好,请问一下点击右侧滑动字母时,letter监听方法中,letter值可以取到,但是通过this.$refs[this.letter]取DOM对象时结果为undefined时什么原因呢?

console.log(this.letter)
console.log(this.$refs)
console.log(this.$refs[this.letter])
console.log(this.$refs.A)

以下结果时上面4行代码在浏览器中的执行结果
图片描述

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

1回答

提问者 DenGe1 2019-02-04 12:35:00

已经解决啦,右侧滑动字母li标签循环时换行,导致标签里字母前面有一个空格,所以在list.vue里取到的letter值其实是' A',而不是'A',所以无法通过$refs找到对应的DOM

0 回复 有任何疑惑可以回复我~
  • 您好请问怎么解决这个空格的问题
    回复 有任何疑惑可以回复我~ 2019-03-03 05:33:43
  • 去掉空格就好了
    watch:{
      	letter () {
      		if (this.letter) {
      			var e = this.letter.trim() 
      			var element = this.$refs[e][0]
      			this.scroll.scrollToElement(element)
      		}
      	}
      }
    回复 有任何疑惑可以回复我~ 2019-04-18 10:45:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信