1
votes

Angular 2+ Multi Calculate & Multi Result

J'essaie de lancer ma première application Angular et je rencontre des erreurs.

J'obtiens l'erreur:

TS2304: Impossible de trouver le nom 'result__i' et TS2551: La propriété 'second__i' n'existe pas sur le type 'AppComponent'.

J'attends le résultat:

export class AppComponent {
  first = 6;
  second_0 = 4;
  second_1 = 8;

public sum() {
  for (let _i = 0; _i < 2; _i++) {
      result__i = this.first + this.second__i;
  }
  return false;
  }
}

Mais ne fonctionne pas.

Code HTML:

<input type="number" [(ngModel)]="first">
<input type="number" [(ngModel)]="second_0">
<input type="number" [(ngModel)]="second_1">

<br>result0:{{result_0}}
<br>result1:{{result_1}} 

<br><br>
<input type="submit" value="Submit" (click)="sum()">


1 commentaires

sentez-vous d'accepter une réponse qui vous a aidé à résoudre votre réponse!


3 Réponses :


0
votes

Dans votre composant, définissez ceci.

export class AppComponent {
  first = 6;
  second_0 = 4;
  second_1 = 8;


public sum() {

  let result__i = 0
  let second__i = 0

  for (let _i = 0; _i < 2; _i++) {

      return result__i = this.first + second__i;

  }
  }
}

Le compilateur se plaint d'une telle propriété result__i et second__i ne sont pas définis p >


1 commentaires

merci, l'erreur est corrigée! Mais la sortie ne fonctionne toujours pas.



1
votes

template:

first = 6;
second = [4, 8];
result = []

public sum() {
    for (let _i = 0; _i < 2; _i++) {
        this.result[_i] = this.first + this.second[_i];
    }
}

dans le composant:

<input type="number" [(ngModel)]="first">
<input type="number" [(ngModel)]="second[0]">
<input type="number" [(ngModel)]="second[1]">

<br>result0:{{result[0]}}
<br>result1:{{result[1]}} 

<br><br>
<input type="submit" value="Submit" (click)="sum()">

planker


0 commentaires

0
votes

Je ferais quelque chose comme ça, un peu de manière dynamique, donc dans le cas d'un élément augmenté dans la liste secondNos alors pas besoin de changer de code HTML

Code HTML réformé:

export class AppComponent {
  first = 6;
  secondNos = [4, 8, 123]; // Incase of new items in the list no need to change in HTML Code
  result = [];

  public sum() {
    this.secondNos.forEach(x => {
      var addition = this.first + x;
      this.result.push(addition)
    })
  }
}

Dans TS:

<input type="number" [(ngModel)]="first">

<span *ngFor="let obj of secondNos">
        <input type="number" [(ngModel)]="obj">
</span>
<span *ngFor="let obj of result; let i=index">
        <br>result {{i}} : {{obj}}
</span>
<br>
<br>
<input type="submit" value="Submit" (click)="sum()">


0 commentaires