繁体   English   中英

错误 TS2554:预期为 4 arguments,但得到 0

[英]error TS2554: Expected 4 arguments, but got 0

我该如何解决这个问题?

代码 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 我刚刚通过了在组件中创建的 function

<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>

您的 calcGrade function 需要 4 个 arguments 但是当您在 HTML 模板中调用它时,您不提供任何内容。

相反,从 function 签名中删除参数,并从您在 function 中创建(分级)的 ngModal object 访问它们。

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');
   }

} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM