【问题标题】:Angular shows error of past file version but the error is actually resolvedAngular 显示过去文件版本的错误,但错误实际上已解决
【发布时间】:2021-07-02 11:13:53
【问题描述】:

我有一个方法getMonths(),我想给它添加一个参数year。该方法只用在一处:

<div *ngFor="let month of getMonths()" class="calendar-table">
...
</div>

如果我将参数添加到方法 getMonths(year) 并将上面的代码更改为调用 getMonths(selectedYear) 角度会给我以下错误:

    ERROR in src/app/user-calendar/user-calendar.component.ts:108:27 - error TS2554: Expected 1 arguments, but got 0.

    108     for(let month of this.getMonths()) {
                                  ~~~~~~~~~~~

      src/app/user-calendar/user-calendar.component.ts:35:13
        35   getMonths(year) {
                       ~~~~
        An argument for 'year' was not provided.

请注意,该角度似乎使用了我的模板的先前版本,其中未提供 selectedYear。我试图杀死ng serve并再次运行它,我也尝试运行ng build --prod但错误仍然存​​在。

与错误消息中的不同,模板如下所示:

<div *ngFor="let month of getMonths(selectedYear)" class="calendar-table">
...
</div>

【问题讨论】:

  • 您能否提供更新后的模板,其中您实际上为 getMonths 方法提供了参数?
  • @MaartenDev 我会在周五更新

标签: javascript angular typescript


【解决方案1】:

我从未见过迭代从函数返回的值的做法,所以我查看了这个参考 - *ngFor using a function, returns a loop。对于您的问题发生的原因,我没有很好的解释,但我想建议您更改循环以迭代分配了 getMonths 返回值的数组。

【讨论】:

    猜你喜欢
    • 2023-01-18
    • 2022-08-11
    • 1970-01-01
    • 2021-07-18
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多