为什么 * ngFor 重复(数组计数)x 4 次?
我使用Angular-cli创建了简单的Angular2项目。我正在使用Angular4。
AppComponent(app.component.ts)
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
values = [1, 2, 3, 4, 5];
protected square(v) {
const retVal = v * v;
console.log(retVal, new Date().getMilliseconds());
return retVal;
}
}
app.component.html
<div *ngFor="let v of values">
<span>{{square(v)}}</span>
</div>
结果(呈现的HTML)
问题
在HTML中,它只生成 5个元素,但是当您查看控制台时,它会打印 20次。
我认为应该只在 5 时调用 square(v),而不是 20 次。