Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将Vue属性设置为字符串化元素属性的值?_Javascript_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 如何将Vue属性设置为字符串化元素属性的值?

Javascript 如何将Vue属性设置为字符串化元素属性的值?,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,请原谅我这个愚蠢的问题 我有这样的想法: var app = new Vue({ el: '#app', data: { words: [] }, created() { let something = document.getElementById('word_data') if (something) { this.words = something.dataset.content.slice() } } }) 这是HTML部分: <inp

请原谅我这个愚蠢的问题

我有这样的想法:

var app = new Vue({
  el: '#app',
  data: {
    words: []
  },
  created() {
    let something = document.getElementById('word_data')
    if (something) { this.words = something.dataset.content.slice() }
  }
})
这是HTML部分:

<input type="hidden" id="word_data" data-content="[&quot;one&quot;,&quot;two&quot;,&quot;thee&quot;]">

它只是一个数组,格式为
[“一”、“二”、“三”、“四”、“等等]

我正在尝试将此数组分配给Vue中的
单词。我该怎么做

如果我按照示例中的方式分配它,它将把整个数组作为一条记录


我相信这很简单。我缺少什么?

只需获取元素的
数据内容
属性值,然后使用
JSON.parse()
将其从您提供的格式转换过来

var-app=新的Vue({
el:“#应用程序”,
数据:{
文字:[]
},
创建(){
常量元素=document.getElementById('word_data');
const data=JSON.parse(element.getAttribute('data-content');
如果(数据){this.words=data}
}
})

  • {{word}

JSON.parse做到了这一点。谢谢。@Bert谢谢你用Vue更新我的答案@user3209270当您看到像这样的字符串化数据时,这是一个很好的选择。
JSON.parse()
会将其转换为可用的内容,因为几乎所有普通的字符串化程序都会生成JSON兼容的内容。提醒一下:Vue希望您使用数据驱动的方式,因此访问DOM(
element.getAttribute('data-content'))
)不是一个好办法。您应该在输入上使用
v-model
,这样您就可以直接使用data.OP了,当然,我很想看看实现这一点的“正确”方法。