Я создаю приложение Ioni c. это приложение работает с другим программным обеспечением, где клиенты могут писать пользовательские javascript (да, это плохая идея, и да, это вызывает много проблем, но я должен их решить). В моем приложении ioni c я добавил несколько полей, которые принимают ngmodel.
пример:
<input [(ngModel)]="myVar" name="myField" id="myField">
когда я импортирую сделанный клиент js, я импортирую скрипты в пометить скрипт и запустить функцию следующим образом:
window["scriptFunctionDeclaredByClient"]();
Иногда в пользовательских сценариях я получаю такой код:
document.getElementById("myField").value = "a new value";
, когда я запускаю этот код, я вижу значение изменилось в моем входе, но "myVar" ngmodel не обновляется. Я пробовал это, но это не работает:
export class FormViewerComponent {
constructor(
private cd: ChangeDetectorRef
) { }
async launchClientFunction(){
await window["scriptFunctionDeclaredByClient"]();
this.cd.detectChanges();
}
}