【发布时间】:2021-02-19 13:52:34
【问题描述】:
如果用户没有交易,我应该会出现一个弹出模式。 depositHistory 是包含这些事务的数组。如果其长度大于 0,则弹出窗口应保持隐藏。如果它的长度等于 0,弹出窗口应该呈现。
我使用的用户帐户有 2 笔交易。弹出窗口不应该显示,但确实如此。 console.log() 返回一个不正确的空数组。我有另一个其他人编写的组件,它以相同的方式使用 depositHistory 并且按预期工作。
组件:
<template>
<div v-if='renderModal'>
<p>Fund your account</p>
</div>
</template>
<script>
const DepositGetter = namespace("deposit").Getter
const AppProps = Vue.extend({
data: () => {
return {
renderModal: false
}
},
beforeMount() {
// renders modal if user has no transactions
if (this.depositHistory.length === 0) this.renderModal = true
console.log(JSON.parse(JSON.stringify(this.depositHistory)))
// usually returns [__ob__: Observer]
// added JSON methods so now it logs []
}
export default class HomeGameBanner extends AppProps {
@DepositGetter depositHistory
}
</script>
我认为你不需要这个,但以防万一。
商店:
type DepositGetter = GetterTree<DepositState, RootState>;
export const getters: DepositGetter = {
depositHistory: state => state.content
};
export const deposit: Module<DepositState, RootState> = {
getters
}
【问题讨论】:
-
交易数据是否从 API 加载?如果是这样,问题可能是您没有触发加载此数据,和/或在加载之前访问它。
标签: javascript vue.js frontend vuex