使用 Angular JS 以编程方式或其他方式触发 "data-ng-change" 以更改网站上的输入值

Fire "data-ng-change" programatically or another way to change value of input on website using Angular JS

我正在编写用户脚本,不幸的是该网站使用了我不知道的 Angular JS。

有代码:

<form class="form ng-pristine ng-valid ng-valid-maxlength" name="$ctrl.actionableForm.form" _lpchecked="1">
<input type="text" maxlength="254" placeholder="" data-ng-attr-id="text-field-{{:: $ctrl.widget.header.id }}" data-ng-model="$ctrl.fieldValue.value" data-ng-change="$ctrl.updateFormFieldValue()" data-ng-blur="$ctrl.onBlur()" data-ng-focus="$ctrl.updateFormFieldValue()" data-ng-readonly="$ctrl.isReadOnly()" data-ng-trim="false" data-ng-keyup="$ctrl.handleKeyup($event)" class="form-control text-field-input ng-pristine ng-untouched ng-valid ng-not-empty ng-valid-maxlength focus-visible" id="text-field-qYMHEJMncH0S-ogeOc5CTw" data-focus-visible-added="">

我想以编程方式更改该输入的值,例如:

document.querySelector('[id^="text-field-"]').value = 'My new value';

但它不起作用,因为它不会触发 data-ng-change="$ctrl.updateFormFieldValue()" 所以新值不会被保存。

请问我该怎么做?

如果有人会找同样的东西,我是这样解决的:

const myField = document.querySelector('[id^="text-field-"]');
myField.value = 'My new value';
angular.element(myField).trigger('change');