问题描述
转到此处(Chrome对于该示例似乎效果最好): https://jsfiddle.net/gongzza/m67d8f4x/2/
在输入中输入a@b.com
。注意错误如何消失。现在清除输入。
在控制台中,通过以下方式以编程方式设置电子邮件的值:
$('[name=email]').value = 'a@b.com'
请注意输入的更改方式,但不会刷新验证。
解决方法
我的建议是,您应该使用Vue来操纵这些东西的值。我能想象您要在此处使用jQuery的唯一原因是因为您是从Vue应用程序外部进行的。鉴于此,您最好这样做:
$('#app').__vue__.email = 'a@b.com'
这样,Vue将注意到更改并进行自己的事件处理。我不确定是否有一种更“正式”的方式来访问Vue数据,但这是我以前做过的方式。