如何从这个数组 Vue JS 中显示 HTML
How to show HTML from this array Vue JS
我是 Vue JS 的新手,我正在尝试使用此数组传递 HTML table,我有一个下拉列表,其中 select 我想要的选项和然后显示它,但我不知道如何将 HTML 放在那里,当我这样做时它会打印代码。如果能提供一点帮助,我们将不胜感激。
这是 HTML 文件:
<div id="app">
<div>
{{pickedValue}}
</div>
<picker v-model="pickedValue"></picker>
</div>
这是 JS 文件,我想在列表中放入一个 HTML table:["c","d","e"]
console.clear()
Vue.component("picker",{
props:["value"],
data(){
return {
list:["c","d","e"],
currentValue: this.value,
selectedValue: ""
}
},
template:`
<div>
<select @change="currentValue = $event.target.value" v-model="selectedValue">
<option value="">Select</option>
<option v-for="item in list" :value="item" :key="item">{{item}}</option>
</select>
</div>
`,
watch:{
currentValue(newValue){
if (!this.list.includes(newValue))
this.selectedValue = ""
this.$emit('input', newValue)
}
}
})
new Vue({
el:"#app",
data:{
pickedValue: null
}
})
您应该改用 v-html
。使用它时要小心,因为如果 "c"、"d"、"e" 是用户输入,它可能会使您的应用程序受到 XSS 攻击:
<div id="app">
<div v-html="pickedValue"></div>
<picker v-model="pickedValue"></picker>
</div>
我是 Vue JS 的新手,我正在尝试使用此数组传递 HTML table,我有一个下拉列表,其中 select 我想要的选项和然后显示它,但我不知道如何将 HTML 放在那里,当我这样做时它会打印代码。如果能提供一点帮助,我们将不胜感激。
这是 HTML 文件:
<div id="app">
<div>
{{pickedValue}}
</div>
<picker v-model="pickedValue"></picker>
</div>
这是 JS 文件,我想在列表中放入一个 HTML table:["c","d","e"]
console.clear()
Vue.component("picker",{
props:["value"],
data(){
return {
list:["c","d","e"],
currentValue: this.value,
selectedValue: ""
}
},
template:`
<div>
<select @change="currentValue = $event.target.value" v-model="selectedValue">
<option value="">Select</option>
<option v-for="item in list" :value="item" :key="item">{{item}}</option>
</select>
</div>
`,
watch:{
currentValue(newValue){
if (!this.list.includes(newValue))
this.selectedValue = ""
this.$emit('input', newValue)
}
}
})
new Vue({
el:"#app",
data:{
pickedValue: null
}
})
您应该改用 v-html
。使用它时要小心,因为如果 "c"、"d"、"e" 是用户输入,它可能会使您的应用程序受到 XSS 攻击:
<div id="app">
<div v-html="pickedValue"></div>
<picker v-model="pickedValue"></picker>
</div>