Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度反应表单:无法在页面加载时绑定复选框已选中属性_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 角度反应表单:无法在页面加载时绑定复选框已选中属性

Javascript 角度反应表单:无法在页面加载时绑定复选框已选中属性,javascript,angular,typescript,Javascript,Angular,Typescript,在角度反应式表单中,我需要Checkbox的双向数据绑定,在选中它之后,我将check变量发送到存储区,在页面加载之后,我也将获得新的更新值。但该复选框isdateChkd变量,即使它的未来TRUE复选框在页面加载时未自动选中 下面是HTML和ts文件 HTML文件 <form [formGroup]="form"> <div class="abc" formControlName="inputDate">

在角度反应式表单中,我需要Checkbox的双向数据绑定,在选中它之后,我将check变量发送到存储区,在页面加载之后,我也将获得新的更新值。但该复选框
isdateChkd
变量,即使它的未来TRUE复选框在页面加载时未自动选中

下面是HTML和ts文件

HTML文件


<form [formGroup]="form">
   <div class="abc" formControlName="inputDate">
     <div class="xyz">
       <p-calendar formControlName="inputDate" 
       [(ngModel)]="inputDateValue"
       class="abc"/>

       <input type="checkbox" id="checkbox-1" class="abc" name="dateChk"
       name="dateIsChecked" [(ngModel)]="isdateChkd" (change)="chkFunction($event.target.value)" />
    </div>
  </div>

</form>


public isdateChkd: boolean = false;

 ngOnInit() {

....Other service calls

// Call to get isdateChkd value

this.store.select(getValues).takeUntil(this.ngUnsubscribe).subscribe((data) => {

this.isdateChkd = data.defaultUpdate // this value holds boolean to be used


});

}

chkFunction(valule) {
 this.isdateChkd = value; // i get update when checkbox is checked

this.store.dispatch(new updateCheckboxCheckedService(value)); // after its checked dispatching it to the store
}

提前感谢您的帮助…

您可以使用
选中的
属性以及
NgModel

它在这里使用checked和值
isdateChkd
。您也可以在这里的这个

请尝试进行如下代码所示的更改

    ...
    <input type="checkbox" id="checkbox-1" class="abc" name="dateIsChecked" 
         [(ngModel)]="isdateChkd" (change)="chkFunction($event)" checked="isdateChkd" />
    ...
。。。
...

快乐编码…)

您是否尝试用
[checked]
代替
ngModel
我不确定您为什么同时使用反应式表单和模板驱动表单。Angular必须在控制台中给您一个错误。保存并发送到ngrx存储区后,再次打开页面后,即使我在取消选中该页面后保存了该页面,但它始终以选中状态出现。即使从服务器返回的布尔值为FALSE。现在该怎么办?您是否在
ngOnInit()
中设置了
this.isdateChkd
的值?是的,正如我在问题中提到的TS文件中所示,在每个保存页面重新加载并打开两个选项卡之后,当我切换到所需选项卡时,即使在
ngOnInit
下,我得到
this.isdateChkd=false
,我也可以看到它处于选中状态,但当您在更新时将其设置为false时,您可以看到它在stackBlitz中工作,单击。考虑到可能存在另一个将值设置为True的事件,如果可能,尝试创建一个带有错误的stackBlitz,以帮助我们解决此问题:)