Angular 角度控制值存取器';s WriteValue方法不';不触发模式改变
我使用的是Priming p-spinner控件,它只是angular中的一个自定义控件(数字类型输入控件)。它还实现WriteValue()方法。但当值更改时,它不会触发ngModelChange事件Angular 角度控制值存取器';s WriteValue方法不';不触发模式改变,angular,primeng,Angular,Primeng,我使用的是Priming p-spinner控件,它只是angular中的一个自定义控件(数字类型输入控件)。它还实现WriteValue()方法。但当值更改时,它不会触发ngModelChange事件 <p-spinner #startSpinner size="6" [ngModel]="someValue" (ngModelChange)="someMethod($event)" [min]="0"
<p-spinner #startSpinner size="6" [ngModel]="someValue"
(ngModelChange)="someMethod($event)" [min]="0"
styleClass="numberRangeSpinner"></p-spinner>
但它会为我自己的自定义控件触发:
<custom-input #input [ngModel]="someValue"
(ngModelChange)="someMethod($event)"
></custom-input>
无法找出这里出了什么问题。这两个控件都实现了ControlValueAccessor类。请共享您的ts代码如果someValue变量changed ngModelChange不会触发,因为这是单向绑定,请尝试改用[(ngModel)](发生这种情况的原因可能是ngModelChange是ngModel Directive的@Output您如何更改该值?我做了一些快速测试,它在我这方面似乎运行良好。@JamalSalman
[(ngModel)]
是[ngModel](ngModelChange)的缩写)
。这两种方法都是完全有效的,并且都会起作用。@GiovaniVercauteren哦,很高兴知道!请共享您的ts代码如果someValue变量changed ngModelChange由于是单向绑定而无法触发,请尝试改用[(ngModel)](这可能是因为ngModelChange是ngModel Directive的@Output。您如何更改该值?我做了一些快速测试,它在我这方面似乎工作得很好。@JamalSalman[(ngModel)]
是[ngModel](ngModelChange)
的缩写。两者都是完全有效的,都会起作用。@GiovaniVercauteren哦,很高兴知道!