点击字母时不能滚动到相应字母的城市
来源:8-6 Vue项目城市选择页 - 兄弟组件数据传递
qq_飘零的树叶_0
2020-12-13
代码和老师写的一致,还用了bus方法也是报错,具体报错:两种方法正常都进入,且城市字母已经拿到,比如“A”,但是执行const element = this.$refs[this.letter],
element 打印结果是undefine
,const element = this.$refs[this.letter][0],
打印报错如图,如果写死const element = this.$refs[‘A’][0]
是可以滚动的。
props: {
hotCities: Array,
cities: Object,
letter: String //已经拿到值
},
mounted () {
const scroll = new BScroll(this.$refs.wrapper)
// var this1 = this
// this.bus.$on('change', function (str) {
// console.log(str) //有值
// const element = this1.$refs[str][0]
// this.scroll.scrollToElement(element)
// })
},
watch: {
letter () {
if (this.letter) {
console.log(this.letter) //拿到值:比如‘A’
const element = this.$refs[this.letter][0];
console.log(element);
this.scroll.scrollToElement(element)
}
}
}
写回答
1回答
-
Dell
2020-12-13
这说明this.letter没有值,继续往下分析,为什么this.letter 没有值,去找一下错误
042020-12-15
相似问题