当前位置: 首页 > 知识库问答 >
问题:

从本地获取嵌套对象的值存储 Vue.js

施宏大
2023-03-14

我有一个vue.js应用程序,在一个组件中有一个返回嵌套对象的数据方法,如下所示:

obj: {
      color: {
        value: '',
      },
      shape: {
        value: '',
      },
      size: {
        value: '',
      },
}

在模板中,具有v模型的输入来填充这些值:

<template>
<input
 v-model = "obj.color.value"
/>
<input
 v-model = "obj.shape.value"
/>
<input
 v-model = "obj.size.value"
/>

我可以使用JSON.stringify方法将此值保存到localStorage:

methods {

save() {
  localStorage.setItem("Itens", JSON.stringify(this.obj))
 }
} 

我可以用JSON.parse从localStorage获取这些值:

created() {
 this.obj = JSON.parse(localStorage.getItem("Itens"))
}

但是,当我这样做到创建的模板中的输入字段不会自动填充保存在localStorage中的obj值时,字段仍然为空。如何将这些值保存到本地存储中,并自动用这些存储的值填充字段?

共有1个答案

齐昊苍
2023-03-14

Vue不检测嵌套对象中的更改。您必须创建一个观察者,如下所示:

Vue JS监视深度嵌套对象

watch: {
    object: {
        handler(newVal, oldVal) {
            // do something with the object
        },
        deep: true,
  },

 类似资料:
  • 问题内容: 我在下面的对象中尝试获取所有id值。 使用以下代码,我仅获得第一个id值。有没有办法从嵌套对象中获取所有id值,而无需使用任何外部模块。 预期产量 问题答案: 您可以使用如下所示的JavaScript函数来获取嵌套属性: 检查此小提琴以获取可行的解决方案。

  • 我试图建立一个方面的导航使用elasticsearch为一个电子商务网站。 商店产品可以有多个变体。我想到的文档结构如下所示: 我将变体定义为嵌套类型。这样,以下查询将返回包含匹配筛选器的变体的所有文档: 现在,我真的希望获得与过滤器匹配的变体的id,以便在类别页面上显示该产品的变体。因此,在本例中,我希望返回第二个变量(1_b)的id。我只获取ResultSet中返回的文档的id。有什么方法可以

  • 后台返回的对象如下 传入一个值,如果这个值是city的值 就返回 city province 的索引值 传入是prefecture的值 就返回 prefecture city province的值 [0,1] 或者 [0,2,3]这种

  • 问题内容: 我最近在nodejs中从memcached切换到Redis。我在node- memcached中喜欢的事情是我可以将整个javascript对象保存在内存中。可悲的是,我无法在Redis中做到这一点。例如,我得到以下对象: 使用3rd-Eden / node-memcached我可以做到: 然后 然后,我将按原样获得保存的对象。 Redis的问题在于,如果我像这样保存对象: 当我获得价

  • 我有一个JTable,我可以在其中添加具有几个属性的用户,如年龄、名称等。这起作用了,用户被添加到我的arraylist和JTable中。现在我想要的是,当我选择JTable行时,能够获得存储在用户的arrayList中的对象,以便我可以修改或删除它们。 有谁能帮我一下吗?谢谢!