【发布时间】:2025-12-02 11:40:01
【问题描述】:
我有一个组件在创建时会向 RESTful 服务器发出两个请求。然后将响应适当地存储在 Vue Store 中。 这个组件有一个计算属性,它依赖于both响应。
但是,按照设计,存储中的任何相关更改都会触发属性的重新计算以及所有后续更新,例如在相关模板中。 如果只收到一个所需的响应并且不需要进行任何更新,我如何表明该属性实际上没有更改?
【问题讨论】:
-
如果您可以发布任何代码将是有益的。如果我理解正确 - 您只想在两个响应都发生变化时重新计算计算结果?
-
使用 Vuex。实际上,所有动作/突变/吸气剂的东西都会导致您的问题得到解决。信息:vuex.vuejs.org/en
-
使用 Promise.all 等待两个 Promise 解决后再采取行动。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
@Potray 我确实使用 Vuex,我将其称为 Vue Store。我必须澄清:我发出两个请求意味着我指示 Vuex 采取两个异步操作,这些操作在完成时分别且在不知情的情况下彼此(因此不能选择承诺),将触发 2 个突变,这将更新计算的重新计算财产两次。打算只进行一次重新计算。
-
那么你必须使用promises、async或其他东西来执行以下流程:Request1 => Request 2 => mutation