[英]detect changes in a component property -Angular 8
我有一个组件,您可以在其中使用按钮设置以下属性:
dataType:String = null
fechaI : Date = null
fechaF :Date = null
checkedList =[]
我想在所有属性都有值时运行 http 请求,并且如果这些属性中的任何一个在运行时更改值,我就可以重做请求
我用 doCheck 尝试了以下操作
ngDoCheck(){
if((this.checkedList !=null)&&(this.dataType!=null)&&(this.fechaI !=null)&&(this.fechaF !=null)){
console.table(this.checkedList)
console.log(this.dataType)
console.log(this.fechaF)
console.log('ENVIO DE OPCIONES')
this.http.post('',{})
}
}
但是每次我滚动或做任何事情时,doCheck 的钩子都会被触发,所以它对我来说不是一个可行的选择。我怎样才能达到预期的结果?
如果您试图检测控制器变量的变化,您应该走这条路:
在您的情况下使用更改检测的最佳方法是从您的变量创建一个对象,如下所示:
myObj = {
dataType: null
fechaI: null
fechaF: null
checkedList: []
}
然后在视图中:
<input type="text"
[ngModel]="myObj.dataType"
(ngModelChange)="onChange($event)"
name="dataType"
required>
检测:
onChange($changes) {
console.log($changes)
this.http.post(myUrl, $changes) // Pretend
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.