两个输入框都用 v-model 绑定在 text 变量上
1. 先在 input 框中输入一些文字,会发现通过 v-model 绑定的 text 值会一起改变。
2. 再点击【改变 value】按钮,通过 js 改变 input 的值,会发现 input 的 value 改变了,但输入框与 text 并无变化;但是注意 el-input 中的值改变了,但是它绑定的也是 text,而 text 并无变化,所以这个值只是一个假象。
3. 这时再任意改变一下输入框中的内容,会发现绑定又回来了
4. 如果点击【改变 value 并触发 input 事件】按钮,会发现无论何时,value 跟 text 的值都是保持一致的。
// js 源码
new Vue({
el: '#app',
data() {
return {
text: '',
value: ''
}
},
methods: {
changeValue() {
this.$refs.input.value = '新的值'
document.querySelector('#elInput').value = '新的值'
this.value = this.$refs.input.value
},
changeAndDispatch() {
var el = this.$refs.input
el.value = '新的值'
this.value = el.value
// 手动触发 input 事件
var event = new InputEvent('input')
el.dispatchEvent(event)
},
},
})