Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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 角度5:点击单选按钮后用于更改的*Ng数据_Javascript_Angular_Typescript_Angular5 - Fatal编程技术网

Javascript 角度5:点击单选按钮后用于更改的*Ng数据

Javascript 角度5:点击单选按钮后用于更改的*Ng数据,javascript,angular,typescript,angular5,Javascript,Angular,Typescript,Angular5,所以问题是,我有一个*ngFor的数组,在一个。在这一行中,我有多个,其中第一个有一个单选按钮。 加载页面时,表将正常呈现。单击单选按钮后,我得到 错误:尝试区分“on”时出错。只允许使用数组和可重用项 当我单击单选按钮时,我还将console.log记录数据本身,数据将正常查看。但当我第二次点击它时,数据是“打开”的 基本上,第一次单击单选按钮后,数据会发生变化 代码如下: <tr *ngFor="let i of mpFASetupList" [style.background-col

所以问题是,我有一个*ngFor的数组,在一个。在这一行中,我有多个,其中第一个有一个单选按钮。 加载页面时,表将正常呈现。单击单选按钮后,我得到

错误:尝试区分“on”时出错。只允许使用数组和可重用项

当我单击单选按钮时,我还将console.log记录数据本身,数据将正常查看。但当我第二次点击它时,数据是“打开”的

基本上,第一次单击单选按钮后,数据会发生变化

代码如下:

<tr *ngFor="let i of mpFASetupList" [style.background-color]="checkFlag ? 'yellow' : 'white'">
    <td class="data" id="zero">
      <input id="faRadioBtn" type="radio" name="anyName"  (click)="onSelectFaSetup(i)">
    </td>
</tr>
以下是错误消息:

第一次点击:

第二次点击:

如您所见,单击后数据Fa列表正在更改。 你们知道angular为什么会这样吗

编辑1:这是mpFASetupList数据:


mpFASetupList:[{internalCode:0,authFlag:false,mainDashboardId:0,validateStatusFlag:false,statusFlag:false}]

单击单选按钮后,Well Fa List是一个打开的字符串。因为我不知道onSelectFaSetup是做什么的,所以我只能假设您将mpFASetupList更改为字符串on,*ngFor指令不能循环,因为它不是数组。如果您发布该方法,我可能会提供更多帮助

我找到了这种行为的原因,放置该标记的标记有一个名称,[ngModel]和ngDefaultControl

因此,它的行为是这样的。
删减这些不必要的属性后,它的行为符合预期。

请显示onSelectFaSetuppost以及onSelectFaSetup函数,这样的问题很难识别,id=faRadioBtn不确定,但请确保此动态或尝试删除它。通过在输入上设置id并按下*ngFor指令内的单选按钮,您可以设置单选按钮的每个实例。您应该删除id或创建模板驱动的表单或反应式表单是否可以显示您的mpFASetupList模型函数中没有发生类似的情况:console.log'Fa List',this.mpFASetupList;this.isFaSelected=true;this.isCustSelected=false;控制台。记录'fa before',设置;this.dashboardId=setup.mainDashboardId;控制台。记录'fa after',设置;
onSelectFaSetup(setup){
    console.log('Fa List' , this.mpFASetupList);
    this.isFaSelected = true;
    this.isCustSelected = false;
    console.log('fa before ' , setup);
    this.dashboardId = setup.mainDashboardId;
    console.log('fa after ' , setup);
}