赞
踩
踩坑之 dataV。
问题: 刚开始的时候,是拿到后端数值就直接赋值了,结果通过后台打印发现 赋值成功了,但是页面却一直没有显示新的数据。
解决: 后面发现dataV文档中,有个用前必看 里面的状态跟新说明了这一问题,原来 dataV里面的组件props均未设置deep监听,刷新props时,要直接生成新的props对象(基础数据类型除外),或完成赋值操作后使用ES6拓展运算符生成新的props对象(this.someProps = { …this.someProps }。
以下是我的项目示例(水位图):
<template> <div class="water"> <dv-water-level-pond :config="config" style="width:50%;height:100%" /> </div> </template> <script> export default { data () { return { config: { data: [55, 30], shape: 'roundRect' } } }, mounted () { this.getWaterNum() }, methods: { async getWaterNum () { console.log(this.config.data) /**拿取后台数据*/ const { data: res } = await this.$http.get('/waternum') if (res.status == 200) { const { config } = this this.config.data = res.data /** * 使用ES6拓展运算符生成新的props对象 * 组件侦知数据变化 自动刷新状态 */ this.config = { ...this.config } console.log(this.config.data) } else return } } } </script>
我是个刚毕业的弱弱的。。。(你懂的),也是第一次写博客,如果有用语不妥等问题的话,很欢迎大家指出,一起进步哦~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。