从Angularjs中的视图触发模型更新

时间:2014-03-30 09:11:38

标签: javascript angularjs

如果视图(例如文本输入中的值)被外部javascript更改,它将不会反映在模型中。

如何触发模型更新(从视图中读回所有绑定值)。

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

1 个答案:

答案 0 :(得分:2)

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

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