【问题标题】:How to save initial state value in a variable vuejs如何将初始状态值保存在变量 vuejs 中
【发布时间】:2021-05-16 13:47:41
【问题描述】:

我在 vuex 存储中有一个对象,其中包含一些我需要在组件中使用的数据,我已经使用组件中的 getter 访问了数据。我正在尝试将该对象的初始值保存在一个变量中,当存储中的数据发生更改时它不会更改/更新,这将允许我进行比较条件。

代码如下,'getSelectedLocation'访问的对象就是我需要保留的原始值。

data() {
 return {
   toggle: this.getSelectedLocation?.local,
 }
},
computed: {
 ...mapGetters({ getUser: 'user/getUser', getSelectedLocation: 'support/getSelectedLocation' }),
},
methods: {
 async updateUsersLocation() {
   const usersCol = new UsersCollection(this.$fire.firestore)
   const id = this.getUser.id
   const location = this.getSelectedLocation
   return await usersCol.updateUsersLocation({ id, location })
 },
},
}

【问题讨论】:

  • 我认为@Igor Moraru 向您展示的答案会奏效。为了清楚起见,您想保存在函数变量或组件变量中(在您的数据中)?

标签: javascript vue.js state nuxt.js vuex


【解决方案1】:

你需要两件事。首先复制那个对象,所以它不能通过引用初始对象来改变,然后冻结它,所以它不能改变自己。

const copy = Object.assign({}, this.getSelectedLocation())
Object.freeze(copy)

【讨论】:

  • 以防万一Object.assign 对你不起作用JSON.parse(JSON.stringfy(this.getSelectedLocation())
猜你喜欢
  • 2021-12-31
  • 1970-01-01
  • 2021-11-04
  • 2018-05-06
  • 1970-01-01
  • 1970-01-01
  • 2014-06-15
  • 2021-05-23
  • 2016-08-27
相关资源
最近更新 更多