错误TS2540:因为它是常量或只读属性,所以无法分配给“ i”

时间:2019-01-11 04:33:43

标签: angular typescript

我的终端显示3错误:

  1. 错误TS2540:因为它是常量或只读属性,所以无法分配给'i'。
  2. 错误TS2540:因为它是常量或只读属性,所以无法分配给“结果”。
  3. 错误TS2322:类型'0'不能分配给类型'void'。

component.ts

total: any;
totalPrice(): void {
      const result = 0;
      for (
        const i = 0; i < this.datas.length; i++
      ) { const data = this.datas[i];
        result = result + data.total;
      }
      return result;
    }

component.html

<td>{{ data.name }}</td>
    <td>{{ data.price }}</td>
    <td>{{ data.quantity }}</td>
    <td>{{ data.total }}</td>`

{{ totalPrice() }}

实际上我通过* ngFor运行列表,因此totalPrice()函数将所有数据相加。

1 个答案:

答案 0 :(得分:0)

使用const进行变量声明的原因是只读的。尝试将const更改为let,删除: void或更改为: number

total: any;
totalPrice() {
      let result = 0;
      for (let i = 0; i < this.datas.length; i++) {
        let data = this.datas[i];
        result = result + data.total;
      }
      return result;
    }