使用 jQuery 设置输入值后更新 Angular2 模型

Gau*_*Dab 1 jquery angular2-forms angular

我在表单控制下有一个输入,我尝试使用 chrome 调试控制台手动修改。

jQuery($0).trigger('focus')
jQuery($0).val('2')
jQuery($0).trigger('input')
jQuery($0).trigger('change')
jQuery($0).trigger('blur')
Run Code Online (Sandbox Code Playgroud)

问题已更改不会被选中,该字段仍标记为必填。我不知道 Angular 在内部做什么或者它正在监听哪个事件。
我尝试发送该输入上的每个事件,
对如何使角度获取该值有任何想法吗?

注意:这里的 angular1 问题不起作用

Gau*_*Dab 5

也许这会对以后的人有所帮助,但是当使用带有 bubbles=true cancelable=true 的本机事件时它会起作用

function modifyValue(field, value) {
  var createEvent = function(name) {
    var event = document.createEvent('Event');
    event.initEvent(name, true, true);
    return event;
  }

  field.dispatchEvent(createEvent('focus'));
  jQuery(field).val(value);
  field.dispatchEvent(createEvent('change'));
  field.dispatchEvent(createEvent('input'));
  field.dispatchEvent(createEvent('blur'));
}
Run Code Online (Sandbox Code Playgroud)