问题:
使用vue、uni-app开发小程序时,新闻列表做成了一个组件,组件中根据props传入的type值调用请求,查询展示对应类型的新闻列表,但总是获取不到。
分析:
经过排查,发现由于page中的type是通过ajax异步获取到的,当新闻列表组件已渲染后,type值异步更新,此时在组件中是不会再去更新的。
在网上搜索到有通过在组件中watch、computed去监测type值的变化,然后再去调用请求查询,但总觉得不够优雅...
解决:
在不用vuex的情况下,使用v-if,让新闻列表组件根据条件去渲染,拿到异步数据后再去渲染组件。
<list-page class="list" :type="type" :vid="id" v-if="type && id"></list-page>