1.问题描述
我的数据是用axios异步获取的。并别数据已经获取到了,可以在页面展示了。父元素的高度为389px,子元素的高度为1123px。按照better--scroll的滚动原理,页面应该是可以滚动的。可是滚动效果不好。(具体见下图)
2问题展示
从图中可以看到子元素的高度1123px明显高于父层的高度389px,可就是不能滚动。
3.第一次点击“评论”,不能滚动。但是当我点击“食物”,再返回点击“评论”的时候(第二次点击),它居然可以滚动了
图片展示:
4代码展示
----"评论"页面代码
<template>
<div class="sellerWrpper" ref="sellerRef">
<div class="seller-wrapper">
.......\\中间代码省略
</div>
</template>
------------------
<script>
import BScroll from 'better-scroll'
import {mapGetters} from 'vuex'
export default {
created () {
this.$store.dispatch('getSeller') //提交dispatch
this.$nextTick(() => { //异步初始化better-scroll
this.scroll = new BScroll(this.$refs.sellerRef, {
click: true
})
})
},
computed: {
...mapGetters(['seller']), //从vuex中获取数据
},
}
</script>
5."评论"组件获取数据流程
1.在“评论”组件的created中提交dispatch,
2.然后通过actions调用一个封装好的axios
3.然后再触发mutations来提交状态改变state中的数据,
4.然后在组件的计算属性中获取state的数据并渲染在页面上
大哥解决了吗?我在$nextTick里面加了一层setTimeout好像解决了。不过感觉挺别扭的,不知道还有没别的方法。