我有一个带有v模型的文本区域:
<textarea v-model="text"></textarea>
如何在Vue中过滤此文本区域?我需要防止使用html:
&amp;#039;id&amp;#039;
答案 0 :(得分:1)
您可以使用watcher属性来监视textarea中的任何更改并防止使用引号,例如:
Vue.config.devtools = false;
Vue.config.productionTip = false;
new Vue({
el: '#app',
data() {
return {
text: ''
}
},
watch: {
text(newVal, oldVal) {
let p = ["&", "amp;", "#039;", "id&", "amp;", "#039;"]
if (p.some(v => {
return newVal.includes(v);
})) {
this.text = oldVal;
}
}
}
})
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<div id="app" class="container">
<textarea class="form-control" v-model="text"></textarea> {{text}}
</div>