我正在使用ionic2和angular2,我有一个用formbuilder构建的表单,但我想检测某个输入的新变化。
ionViewDidLoad() {
this.purchaseDataForm = this.formBuilder.group({
kms: ['', Validators.required],
lts: ['', Validators.required],
price: ['', Validators.required],
total: ['', Validators.required]
});
}
这就是我的表单验证的方式,但我想订阅价格和 lts 输入的价值变化,你知道怎么做吗?
我正在尝试使用以下功能但显示Cannot read property 'valueChanges' of undefined
ngOnInit() {
this.purchaseDataForm.price.valueChanges.subscribe(value => {
console.log(value);
});
}
谢谢!
答案 0 :(得分:4)
价格不是您表单的直接属性。价格位于表单的“控件”对象中。所以你的代码应该是这样的:
ngOnInit() {
this.purchaseDataForm.controls.price.valueChanges.subscribe(value => {
console.log(value);
});
}
答案 1 :(得分:1)
我不知道Ionic,但我想在ionViewDidLoad()
之后调用ngOnInit()
。只需将代码从ionViewDidLoad()
移动到构造函数或在当前代码之前移动到ngOnInit()
。
您应该可以使用
获得价格控制this.purchaseDataForm.get('price').valueChanges.subscribe(value => {