ошибка TS2554: ожидается 4 аргумента, но получено 0 - PullRequest
0 голосов
/ 24 апреля 2020

Как я могу решить это?

код TS ниже:

это должно быть просто, но я новичок в angular

- это простая страница, которая вычисляет среднее число студентов

import { Grade } from './calculator.model';
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-calculator',
  templateUrl: './calculator.component.html',
  styleUrls: ['./calculator.component.css'],
})
export class CalculatorComponent implements OnInit {
  grade: Grade = {
    name: '',
    grade1: null,
    grade2: null,
    grade3: null,
  };

  constructor() {}

  ngOnInit(): void {}

  calcGrade(
    grade1: number,
    grade2: number,
    grade3: number,
    account: number
  ): void {
    account = (grade1 * 0.25 + grade2 * 0.25 + grade3 * 0.5) / 3;

    if (grade1 && grade2 < 6.2) {
      console.log('aluno repovado');
    }
  }
}

Я пытался поместить параметры в конструктор, но не работает

код HTML ниже

в html Я только что прошел функцию, созданную в компоненте

<div class="container">
  <div class="header">
    Olá Professor
  </div>
  <form class="form" action="submit">
    <input
      [(ngModel)]="grade.name"
      type="text"
      class="inputName"
      placeholder="Nome do Aluno:"
    />
    <input
      [(ngModel)]="grade.grade1"
      type="number"
      class="inputGrade"
      placeholder="Nota da prova 1:"
    />
    <input
      [(ngModel)]="grade.grade2"
      type="number"
      class="inputGrade"
      placeholder="Nota da prova 2:"
    />
    <input
      [(ngModel)]="grade.grade3"
      type="number"
      class="inputGrade"
      placeholder="Nota da prova 3:"
    />

    <button (click)="calcGrade()" class="button">Calcular</button>
  </form>
</div>

1 Ответ

0 голосов
/ 24 апреля 2020

Ваша функция calcGrade требует 4 аргумента, но когда вы вызываете ее в шаблоне HTML, вы не предоставляете ее.

Вместо этого удалите параметры из сигнатуры функции и получите доступ к ним из объекта ngModal, который вы создано (оценка) внутри функции.

calcGrade() {
   account = (grade.grade1 * 0.25 + grade.grade2 * 0.25 + grade.grade3 * 0.5) / 3;

   if (grade.grade1 && grade.grade2 < 6.2) {
     console.log('aluno repovado');
   }

} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...