Javascript 带有JSON数据的Vue isse

Javascript 带有JSON数据的Vue isse,javascript,json,vue.js,Javascript,Json,Vue.js,我是VUE新手,在VUE数据中将dict转换为JSON时遇到问题 我有一个段落有innerHTML{'id':'1','name':'test'} 我需要将此字符串转换为Vue中的对象 我尝试: const helloWorld = new Vue({ el:'#helloVue', data: { dict:JSON.parse(JSON.stringify(document.getElementById('vuedata').innerHTML)),

我是VUE新手,在VUE数据中将dict转换为JSON时遇到问题

我有一个段落有innerHTML
{'id':'1','name':'test'}

我需要将此字符串转换为Vue中的对象

我尝试:

const helloWorld = new Vue({

   el:'#helloVue',


   data: {
      dict:JSON.parse(JSON.stringify(document.getElementById('vuedata').innerHTML)),


   },


 delimiters: ['[[', ']]'],

})

但是当我需要Vue数据时,它会显示一个字符串,而不是一个对象。

您可以直接在
数据中计算
dict
值,但最好在
计算中执行,如下所示:

computed: {
  dict() {
    return JSON.parse(JSON.stringify(document.getElementById('vuedata').innerHTML))
  }
}
然后,您可以在模板中使用该值,就像您通常使用
数据
属性一样:

<div>{{dict}}</div>
顺便说一下,
data
属性应该
返回值,如下所示:

data() {
  return {
    dict1: ...,
    dict2: ...,
    ...
  }
}

重复调用
JSON.stringify
是多余的,因为
innerHTML
返回一个字符串,要使
JSON.parse
正常工作,您需要将单引号替换为双引号(例如使用
str.replace(/'/g,“)
).Javascript没有dict,它有object和Map,请使用它来学习该语言的正确术语,这样您就不会混淆其他人,谢谢,我想我可以为您编辑问题,但是如果您以前没有编辑过问题,这是您的机会!
data() {
  return {
    dict1: ...,
    dict2: ...,
    ...
  }
}