繁体   English   中英

角度-检测 <input /> 通过单向绑定改变价值

[英]Angular - Detect <input /> value change with one way binding

我有这个

<input [value]="SomeModel.ValueFunct()" readonly="readonly"/>

有用! 函数返回值更改时,显示的值也会更改。

如何检测值是否变化?

更新:

使用方法:

ngOnChanges(changes: SimpleChanges) : void{

要么

(gModelChange)="function($event)"

要么

(change)="function($event)"

[ngModel]="SomeModel.ValueFunct()"

函数更改时不起作用,仅当用户更改输入时才有效(但在这种情况下为只读)

随想曲:

http://next.plnkr.co/edit/Rj3NjtcGXTo9upt9?open=lib%2Fapp.ts&deferRun=1&preview

相同的未解决问题:

ngModel更改,不调用ngModelChange

因此,不是直接绑定功能,而是将实际值绑定到输入标签中。 然后在您的打字稿文件中,编写ngOnChanges()生命周期事件并检测此更改。

因此,如果您想要单向数据绑定,那么

<input [ngModel]="variable">

在您的.ts文件中,从angular/core导入OnChangesSimpleChanges

ngOnChanges(changes: SimpleChanges) {
        if(changes[variable]) {
          // Perform your actions.
        }
    }

如果要使用一种方法进行数据绑定时使用html输入字段中更改的数据,则必须使用(ngModelChange),如下所示:

<input [ngModel]="variable"(ngModelChange)="function_to_fire_on_model_change($event)">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM