JS调试面板怎样给input赋值?使其双向绑定触发change

2020-12-09 14:27:56

JS在打开Console调试面板时,怎样给input标签赋值?很简单!不就对其value赋值嘛!

document.getElementById('test').value='hello';



拿Vue来测试!在双向绑定input时,提交表单时,你会发现,绑定的对象值并没有改变!

new Vue({
	el:'#app',
	data:{
		msg:'',
	},
	watch:{
		msg:function(newval){
			console.log('msg改变了!');//这里并没触发
		}
	}
});

什么原因呢?Vue双向绑定,要更新视图,要触发input!那么,要先创建一个事件。在改变input标签的值后,再触发input,就可以实现更新数据和视图。

var evt = document.createEvent('HTMLEvents');
evt.initEvent('input', true, true);
document.getElementById('test').value='test!';
document.getElementById('test').dispatchEvent(evt);



这样就成功了!

相关推荐
专题合辑