【问题标题】:What is the best way to clear the properties of an object in Vuex state在Vuex状态下清除对象属性的最佳方法是什么
【发布时间】:2020-08-12 02:52:19
【问题描述】:

假设你在 Vuex 商店的state 中有这个对象:

const state = {
  profile: {
   name: "Bob",
   jobTitle: 'Baker',
   age: 38,
  }
}

在 Vue.js 模板中,您可以使用 computed 属性访问此对象,如下所示:

<template>
    <p>Welcome {{ profile.name }}</p>
</template>

这可以正常工作,但需要预先定义属性。当没有登录用户时,profile 的每个属性都需要设置为空字符串。因为当我们设置state.profile = null 时,Vue 模板会抱怨它找不到name 属性。

处理此类案件的最佳方法是什么?我们需要iterate the object properties 并将它们全部设置为空白字符串还是有更好的处理方法?

感谢您的帮助。

【问题讨论】:

    标签: vue.js vue-component vuex


    【解决方案1】:

    您可以使用返回空profile 对象/模型的工厂方法来初始化您的状态。然后,您将 reset 操作添加到您的 VUEX 存储中,以便在您需要时重新初始化您的 profile 状态。

    查看THIS 文章。这更详细地解释了上述内容。

    【讨论】:

    • 谢谢你,这是一些非常聪明的东西!我看到的唯一缺点是可读性。您不能简单地打开 state.js 文件并查看属性。
    • 如果这就是您的意思,您不限于将所有内容放在一个文件中。您可以将您的工厂方法分离到它们自己的文件中。也有可能使用 VUEX 模块:vuex.vuejs.org/guide/modules.html。这允许您将 VUEX 存储拆分为不同的(与功能相关的)部分。
    • 你是对的!我还在学习,一开始没有看到。但是,是的,我认为这是正确的答案。再次感谢您的精彩提示:)
    猜你喜欢
    • 2012-01-08
    • 2010-11-25
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多