【发布时间】:2020-07-31 12:01:31
【问题描述】:
我正在尝试将 vue JS 中的道具的值设置为我在另一个类中的函数的输出。但是,当我调用此函数时,将返回函数的实际代码,而不是该函数的输出。这是我的代码以及我所指的屏幕截图。
在我的模板中
<nav>
<ul>
<li><router-link to="/games">All Games</router-link></li>
<li><modal-deposit>Deposit</modal-deposit></li>
<li @click="logout"><router-link to="/">Logout</router-link></li>
<li>Balance {{ updateBalance }} </li>
</ul>
</nav>
默认导出内
computed: {
updateBalance: function(){
return WalletService.getBalance;
}
}
在 WalletService.js 中
class WalletService{
//Get the balance from our logged in wallet
static getBalance(){
axios.get(url + decoded.email).then((res)=> {
console.log(res.data[0].balance);
return res.data[0].balance;
})
}
}
我想要 res.data[0].balance 中的值,但我不确定它为什么返回实际代码。我想补充一点,我还在学习 vuejs,在此之前没有使用过任何响应式框架。我曾尝试使用 watch: 而不是 computed: 但这会破坏 prop 值,表明它在渲染期间被引用,但未定义。即使我在 export default 的 data() 部分声明它。
【问题讨论】:
-
@KevynKlava 所以我切换到 asyncComputed 并引用了 Data() 中的道具,但是该值永远不会从 Data() 更新
-
对不起,我忘了你必须安装 vue-async-computed
-
我将准备一个示例,以便对您有所帮助,请稍等
标签: javascript vue.js