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="["one","two","thee"]">
它只是一个数组,格式为[“一”、“二”、“三”、“四”、“等等]
我正在尝试将此数组分配给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了,当然,我很想看看实现这一点的“正确”方法。