【发布时间】:2017-02-09 02:00:15
【问题描述】:
<input type="number" style="width: 100px" [(ngModel)]="trait.userMinimum" (ngModelChange)="setThresholds()">
模型被下面的代码改变并反映在屏幕上,但没有调用 ngModelChange。我希望它被调用,无论它在其他地方被更改,或者是一个属性或任何原因。如果模型发生变化,它会调用 ngModelChange。
<p-slider [(ngModel)]="trait.userMinimum"
[style]="{'width':'100%'}"
[min]="trait.min"
[max]="trait.max"
class="ui-g-8"></p-slider>
<span class="ui-g-2">{{trait.max}}</span>
为了阐明 ngModel 按预期工作,我移动滑块以改变数字,输入滑块改变的数字。唯一不起作用的是滑块更改并且模型更改未在输入中调用。
【问题讨论】:
-
你应该使用
DoCheck以防onChange不触发。 angular.io/docs/ts/latest/guide/lifecycle-hooks.html#!#docheck -
嗯,我试过了,但效果极差
-
请创建 plunker 来演示您的问题
-
@ZackLucky,你发现这有什么问题吗?我陷入了类似的境地
-
@RumitParakhiya 我认为大卫的回答为我解决了这个问题,拆分了 getter 和 setter
标签: angular