TypeError:无法读取angular2中未定义的属性“ 0”以在datepicker中使用索引

勃伦加拉尼

我有日期输入字段,如果我单击添加,它会在上一个字段下方提供相同的字段。现在,我以这种方式编写了HTML,因此它给出了错误,TypeError: Cannot read property '0' of undefined并且页面无法仅打开。.任何人都可以帮助我解决这个问题。

HTML:

<md-card *ngFor="let positionDetails of positions; let i = index">
<div>
<md-input-container>
   <input mdInput type="text" name="positionDetails.position_start[i]" [ngModel]="positionDetails.position_start [i]| date:'dd/MM/yyyy'" (ngModelChange)="positionDetails.position_start[i] = $event" (focus)="openPosition()[i]" [readonly]="true">
   </md-input-container>
    <div *ngIf="showPosition">
        <datepicker [(ngModel)]="positionstart" name="positionDetails.ddv[i]" [showWeeks]="false" [maxDate]="positionend" (selectionDone)="onPositionStart($event)"></datepicker>
    </div>
</div>
</md-card>

Ts:

this.positions = [{
      "position_start":"",
    }];
    openPosition(i){
      this.showPosition = true;
    }

    onPositionStart(event:any,i) {
      console.log(event);
      this.positionstart = event;
      console.log(this.positionstart);
      this.positionDetails.position_start = new Date(this.positionstart);
      console.log(this.positionDetails.position_start);
      this.showPosition = false;
    }

您应该positionDetails在ngFor中使用范围这将确保ngFor的每次迭代都相互独立。

<md-card *ngFor="let positionDetails of positions">
  <div>
    <md-input-container>
      <input mdInput type="text" [ngModel]="positionDetails.position_start | date:'dd/MM/yyyy'" (focus)="openPosition(positionDetails)" [readonly]="true">
    </md-input-container>
    <div *ngIf="positionDetails.showPosition">
      <datepicker [(ngModel)]="positionDetails.position_start" [showWeeks]="false" [maxDate]="positionend" (selectionDone)="onPositionStart($event, positionDetails)"></datepicker>
    </div>
  </div>
</md-card>

这意味着您必须更新方法才能仅修改给定的 positionDetails

openPosition(positionDetails){
  positionDetails.showPosition = true;
}

onPositionStart(event: any, positionDetails) {
  positionDetails.position_start = new Date(event);
  positionDetails.showPosition = false;
}

并给每个迭代它自己的变量集

this.positions = [{
  "position_start": "",
  "showPosition": false
}];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Angular2中的动态组件时出现错误“错误TypeError:无法读取未定义的属性'createComponent'”

(Angular2 和 Typescript)Angular 的 DatePicker 无法读取未定义的属性“切换”

TypeError:无法使用Angular读取未定义的属性“ comments”

Angular2 * ngFor:“无法读取未定义的属性'0'”

使用ngFormModel(ES6)时angular2无法读取未定义的属性'validator'

使用@input在Angular 2中“无法读取未定义的属性'名称'”

Angular TypeError:使用 event.target.file[0] 时无法读取未定义的属性“0”

React TypeError:无法读取未定义的属性“0”

TypeError:无法读取未定义的CryptoJS的属性“ 0”

ReactJS-TypeError:无法读取未定义的属性“ 0”

Ionic InfiniteScroll:TypeError:无法读取未定义的属性“ 0”

Javascript Uncaught TypeError:无法读取未定义的属性“ 0”

For循环:TypeError:无法读取未定义的属性“ 0”

为什么TypeError:无法读取未定义的属性“ 0”?

JavaScript测验TypeError:无法读取未定义的属性“ 0”

Nativescript Vue TypeError:无法读取未定义的属性“ 0”

未捕获的TypeError:无法读取未定义的属性“ 0”

未捕获的TypeError:无法读取未定义的属性“ 0”

带有TypeError的构造函数中的未定义数组:无法读取未定义的属性“ 0”

TypeError:无法使用玩笑读取未定义的属性“原型”

TypeError:无法使用ReactJs读取未定义的属性“ map”

TypeError:无法读取未定义Express的属性“使用”

Google Apps脚本-TypeError:无法从未定义中读取属性“ 0”

错误TypeError:无法读取角度高图表中未定义的属性“ 0”

Vue:挂载钩子中的src错误:“TypeError:无法读取未定义的属性'0'”

如何修复执行失败:TypeError:无法从未定义中读取属性“ 0”?

TypeError:无法读取角度应用程序中未定义的属性“ 0”

如何使用Cloud Functions解决Firebase中的“ TypeError:无法读取未定义的属性'firstname'”?

使用类验证器中的 @MinDate 会导致 TypeError:无法读取未定义的属性“getTime”?