javascript - 从 Angularjs 中的 View 触发模型更新

标签 javascript angularjs

如果 View (例如文本输入中的值)被外部 JavaScript 更改,则不会反射(reflect)在模型中。

如何触发模型更新(从 View 读回所有绑定(bind)值)。

P.S:由于某些原因,手动设置模型值对我来说不是一个选择,我只需要调用用户在文本框中键入内容时调用的相同函数。

最佳答案

如果您要更改使用 ng-model 的元素(例如输入)的值,它应该足以触发元素的“change”事件。

jQuery:

$('#input').val('new value').trigger('change');

没有 jQuery:

var input = document.querySelector('#input');
input.value = 'new value';

var event = document.createEvent('HTMLEvents');
event.initEvent('change', true, false);
input.dispatchEvent(event);

演示: http://plnkr.co/edit/IFb8OmegaGAAniy9ttn5?p=preview

关于javascript - 从 Angularjs 中的 View 触发模型更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742226/

相关文章:

angularjs - 如何从 TypeScript Controller 中的表单引用属性和方法?

javascript - 如何将 Angular-Chart.JS 数据添加到 UI-Router .State Controller 中?

javascript - AngularFire 暂停/恢复同步

javascript - 合并字符串中的重复项并用逗号附加它会给出错误的输出

javascript - 两点之间的弧 : set angle "0" on top

javascript - MongoDB 安全问题

angularjs - 从 Angular js 到 Controller 的 webapi 调用不起作用

javascript - 在不使用 aria-haspop 的情况下模拟 Windows 表面上的触摸

javascript - 从 URL 获取文件类型

javascript - 如何构建 Angularjs/Leaflet/Node.js 应用程序