Javascript Vue.js:是否使用setTimeout函数更改输入值?
我是Javascript Vue.js:是否使用setTimeout函数更改输入值?,javascript,vue.js,Javascript,Vue.js,我是Vue.js的开始,我刚刚遇到了v-model部分,下面是代码: HTML: {{message}} javascript: var v = new Vue({ el:"#app", data:{ message: "Hello" } }); var inputDOM = document.querySelector('#input_id'); setTimeout(function(){ inputDOM.value = "Changing By timeo
Vue.js
的开始,我刚刚遇到了v-model
部分,下面是代码:
HTML:
{{message}}
javascript:
var v = new Vue({
el:"#app",
data:{
message: "Hello"
}
});
var inputDOM = document.querySelector('#input_id');
setTimeout(function(){
inputDOM.value = "Changing By timeout";
},1500);
是的,当我在input
标记中键入一些文本时,
的innerHTML
将随着我的键入而改变。
但是如果我使用
setTimeout
函数更改input
标记的值,则
的innerHTMl
不会更改。是的,如果使用
setTimeout
函数更改数据
对象的值,则只要更改输入
值,该值就会更改
下面是我包含的vue.js
I:
下面是演示
实际上没有任何目的,因此我不需要任何其他解决方案来处理这种双向绑定,只是有点好奇为什么。当您在输入框中键入时,更改由Vue的getter/setter方法处理,如本页所述: 在上述情况下,输入框位于Vue应用程序中。因此,Vue能够设置其getter/setter方法来处理这些更改
当匿名函数在
setTimeout
内运行时,它是在Vue应用程序之外执行的。使用javascript直接更改输入框的值,但不在Vue应用程序的范围内。因此它的getter/setter方法不会被触发。因此,这些更改不会反映在您的Vue模板中。谢谢!我想如果我想使用javascript
来更改值并触发Vue的getter/setter方法,我必须使用某种:value
或其他方法。我将继续阅读指南页,再次感谢!