如何显示来自此数组的HTML Vue JS

时间:2020-04-12 08:48:53

标签: javascript html arrays vue.js dropdown

我是Vue JS的新手,正在尝试使用此数组传递HTML表,但在下拉菜单中选择了所需的选项,然后显示了它,但我不知道该怎么做。我将HTML放在其中,当我这样做时会打印代码。一点帮助将不胜感激。

这是HTML文件:

        <div id="app">
            <div>
              {{pickedValue}}
            </div>
            <picker v-model="pickedValue"></picker>
        </div>

这是JS文件,我想在列表中放置HTML表:[“ 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
  }
})

1 个答案:

答案 0 :(得分:1)

您应该改用v-html。使用此命令时要小心,因为如果“ c”,“ d”,“ e”是用户输入,则可能会使您的应用程序受到XSS攻击:

    <div id="app">
        <div v-html="pickedValue"></div>
        <picker v-model="pickedValue"></picker>
    </div>

https://vuejs.org/v2/api/#v-html