vue如何实现获取数据时, 再去加载数据?
在vue中, 我需要获取一个字典, 如cityList, 如何做到在获取this.cityList时, 如果cityList没数据, 就去后台获取数据, 否则就返回已获取的数据?
// 类似与这样, cityList还能有双向绑定特性
computed:{
cityList: {
get () {
if (cityList.length) return cityList
return await getCityListService()
}
}
}
难点在如何保持citylist的双向绑定特性, 因为我直接使用proxy去替换get的话, 它的双向绑定也消失了!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这种需求仅靠
computed
实现不了,至少需要在data
或另外的存储区上维护一个cityList
上面的做法也不行,因为没做同步处理
new Promise
进行同步处理,然后使用resolve, reject
,返回结果即可这里的
cityList
需要借助另外一个对象完成,这个对象是用来存储请求到的数据,然后使用computed
属性计算出cityList
即可。