Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript更改textarea值时的角度调用函数_Javascript_Html_Angular_Typescript - Fatal编程技术网

JavaScript更改textarea值时的角度调用函数

JavaScript更改textarea值时的角度调用函数,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,我正在使用angular,每次手动或通过JavaScript代码更改textarea的内容时,我都会尝试调用我的函数codeInputChanged() 我的文本区域的HTML如下所示: <textarea class=code id="code" (input)="codeInputChanged()" (scroll)="scrollsync()">{{code}}</textarea> {{code} 我可以使用(输入)=“codeInputChanged()”

我正在使用
angular
,每次手动或通过JavaScript代码更改textarea的内容时,我都会尝试调用我的函数
codeInputChanged()

我的文本区域的
HTML
如下所示:

<textarea class=code id="code" (input)="codeInputChanged()" (scroll)="scrollsync()">{{code}}</textarea>
{{code}

我可以使用
(输入)=“codeInputChanged()”
调用我的函数
codeInputChanged()
。但这只在我手动更改文本区域的输入时起作用。现在,我正在寻找一种解决方案,以便在JavaScript代码进行更改时调用函数。

您可以直接调用函数,例如

triggerInputChanged(){
    console.log('changing your input programatically');
    this.codeInputChanged();   
}
这应该非常简单——检查我的代码笔,显示以下内容:

试试这些代码

<textarea class=code id="code" onchange="codeInputChanged()" (scroll)="scrollsync()">{{code}}</textarea>
{{code}

{{code}

为什么不直接从javascript代码调用codeInputChanged?@user2263572直接从我的javascript代码调用该方法在我看来是一个糟糕的解决方案。当我按下另一个组件中的按钮时,我更改变量
code
的内容。我认为从另一个组件调用函数不是一个好主意。Angular文档有一整节专门讨论组件交互。它是框架的主要部分。
<textarea class=code id="code" (scroll)="scrollsync()" [ngModel]="data" (ngModelChange)="codeInputChanged()">{{code}}</textarea>