gpt4 book ai didi

javascript - 如何在 Promise 值更改时重新渲染组件

转载 作者:行者123 更新时间:2023-11-30 20:48:41 24 4
gpt4 key购买 nike

<分区>

能否请您帮我解决与 Vue 组件重新渲染相关的问题。我通过使用 Promise 获取数据。一旦数据在特定属性链(visualData.layout.cube...)下可用,我就会为 DATA 属性(label、indicatorValue...)分配一个值。

不幸的是,当 Promise 下的数据发生变化时(例如,当使用应用程序过滤器或单击某些图表或其他任何内容时),组件没有重新呈现选项。当我在路由之间切换或重新加载页面时,组件数据会发生变化。

监视来自 Promise 的变化的 Vue 解决方案是什么?

data() {
return {
label: null,
indicatorState: null,
indicatorValue: null,
}
},
computed: {
isAppReady() {
return this.$store.getters.isAppReady;
},
},
mounted() {
this.$store.watch(() => this.isAppReady, (status) => {
if (status) { // if STATUS === true
this.getData();
}
});

if (this.isAppReady) {
this.getData();
}
},
methods: {
getData() {
return this.appMethods // global object gathering specific methods like .getObject, .getField etc.
.getObject(null, this.visualID)
.then(visualData => visualData.layout.cube.dataPages[0].matrix[0])
.then((transformedData) => {
this.label = transformedData[0].qText;
this.indicatorValue = transformedData[1].qText;
this.indicatorState = Number(transformedData[1].qNum) > 0;
});
},
},

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com