Неперехваченная ошибка типа: не удается прочитать свойство ‘id’ неопределенного ядра.js: 24134

#angular #typescript

#angular #typescript

Вопрос:

Я работаю над ионным приложением, как более свежим, и я сталкиваюсь с этими проблемами в своей консоли и не могу определить ошибку, поэтому, пожалуйста, помогите мне с этой ошибкой в консоли, сначала я выведу ошибки на консоль, эти ошибки повторяются для многих проектов, поэтому, пожалуйста, помогите мне исправить эту ошибку, поскольку яя не могу получить какие-либо выходные данные браузера, мой vscode также не показывает никаких ошибок

  Uncaught TypeError: Cannot read property 'id' of undefined  core.js:24134

    at registerNgModuleType (core.js:24134)
    at core.js:24145
    at Array.forEach (<anonymous>)
    at registerNgModuleType (core.js:24145)
    at new NgModuleFactory$1 (core.js:24242)
    at compileNgModuleFactory__POST_R3__ (core.js:27786)
    at PlatformRef.bootstrapModule (core.js:28024)
    at Module../src/main.ts (main.ts:11)
    at __webpack_require__ (bootstrap:84)
    at Object.0 (main.ts:12)


HTML CODE:i did my coding here, if there is anything i need to change in my coding [please mention that also]
 

Мой код я работаю над созданием списка учащихся, в котором мне нужно получить оценки для разных учеников в массиве, чтобы я мог создать эту задачу и добавить в свое приложение для школы, еще пара задач аналогичны таким образом, поэтому, пожалуйста, помогите мне в этой задаче, которая, в свою очередь, поможетя в других задачах также благодарю вас.

 <ion-header>
  <ion-toolbar>
    <ion-title>marklist</ion-title>
  </ion-toolbar>
</ion-header>
<ion-content>
 
    <ion-item>
        <ion-label placeholder="Class">Class</ion-label>
        <ion-select slot="end">
        <ion-select-option >class(1-5)</ion-select-option>
        <ion-select-option >class(6-12)</ion-select-option>
        </ion-select>
    </ion-item>
        
    <ion-item>
        <ion-button *ngIf="hell" (click)="CreateRecord()" [disabled]="false">
        <ion-icon size="small" slot="icon-only" name="add"></ion-icon>amp;nbsp;CreateRecord </ion-button>

        <ion-button *ngIf="!hell"(click)="CreateRecord()">
        <ion-icon size="small" slot="icon-only" name="add"></ion-icon>amp;nbsp;HideRecord</ion-button>
    </ion-item>

  <ng-container *ngIf="!hell">
    <ion-grid>
        <ion-row>
          <ion-col style="font-size: larger;margin-left: 40px;">Sno</ion-col>
          <ion-col style="font-size: larger;margin-left: 180px;">Subject</ion-col>
          <ion-col style="font-size: larger;margin-left: 250px;" >Mark</ion-col>
       </ion-row>
    </ion-grid>
    
    <ng-container *ngFor="let num of subject;let i=index">
      <ion-grid>
      <ion-row> 
        <ion-col><ion-card"><ion-input value="{{i 1}}"></ion-input></ion-card></ion-col>
        <ion-col><ion-card"><ion-input type ="text-only"></ion-input></ion-card></ion-col>
        <ion-col><ion-card"><ion-input type ="number" [(ngModel)]="v1[i]" ></ion-input></ion-card></ion-col>
      </ion-row>
      </ion-grid>
    </ng-container>

      <div>
        <ion-button (click)="addForm()" class="btn btn-success"> </ion-button>
        <ion-button (click)="subForm()" class="btn btn-danger">-</ion-button>
      </div>
      
      </ng-container>
      <ion-card>
        <ion-label>Total</ion-label>
        <ion-input type="number">{{v1[i]}}</ion-input>
      </ion-card>
</ion-content>


typescript codes:

import { IonicModule } from '@ionic/angular';

import { FormsModule, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';

import { Component, OnInit, NgModule } from '@angular/core';

import {MarklistService} from './marklist.service';


@Component({
 
 selector: 'app-marklist',
  
templateUrl: './marklist.page.html',
 
 styleUrls: ['./marklist.page.scss'],

})

export class MarklistPage implements OnInit {


i:any; 

v1:number[];

subject:number[];

hell:boolean = true;

n=1;index:any;


constructor() { }

  
ngOnInit() {
    
this.subject = Array(this.n).fill(0).map((x,i)=>i);


  }
  
CreateRecord(){

       this.hell=!this.hell;

  }



  addForm(){
   
 this.n  ;
 
 this.subject = Array(this.n).fill(0).map((x,i)=>i);
 
 }
 
 
 subForm(){
  
 
   this.subject = Array(this.n).splice(this.index,this.n--);
 
 }

}

    
 

я сталкиваюсь с этими проблемами, сэр / мама, поэтому, пожалуйста, помогите мне определить проблему с неопределенным идентификатором
, спасибо

Ответ №1:

Это трудно определить по разделу кода, которым вы только что поделились. Похоже, что существует проблема с используемым вами массивом — я предполагаю, что это тема, которую вы используете в html, которым вы поделились.

Ошибка, которую вы обычно получаете, появляется, когда вы пытаетесь сослаться на свойство объекта, такое как «id», когда объект не существует.

Т.е. следующий код выдаст аналогичную ошибку:

 let student: Student; 
student.id = 6;
 

Правильная реализация будет:

 let student: Student = {
id: 6
}
 

Если вы работаете в цикле, вы можете добавить нулевую проверку для данного объекта.

 if (student) {
student.id = 6;
}
 

Надеюсь, это помогло.

Комментарии:

1. Сэр, еще один запрос, какой лучший веб-сайт или книга для изучения ionic и typescript, сэр, пожалуйста, дайте мне знать, спасибо