gpt4 book ai didi

javascript - Angular 4 : invoke method from template

转载 作者:搜寻专家 更新时间:2023-10-30 21:17:38 26 4
gpt4 key购买 nike

使用 Angular 4,我需要显示一些数字的平均值。我的组件基本上是这样的:

@Component({
selector: 'app-home',
templateUrl: './home.component.html'
})
export class HomeComponent {
students:string[];
constructor(private studentsService: StudentsService) {}
ngOnInit() {
this.studentsService.getStudents().subscribe(students => {
...
})
function doAvg (arr) {
var i,
len=arr.length,
average=0,
obj={};
for (i=0;i<len;i++) {
average += arr[i];
}
return (average/arr.length);
}
}
}

我的模板有这个标记(GPARecord 是一个 float 组):

<tr *ngFor="let student of students">
...
<td>{{ doAvg(student.GPARecord) }}</td>
</tr>

但我在控制台中收到此错误:

ERROR TypeError: _co.doAvg is not a function

帮助!谢谢!

最佳答案

(i)你不需要有关键字function,也有ts,使用let ,而不是 var

(ii)移出 ngOnInit()

  doAvg (arr) {
let i,
len=arr.length,
average=0,
obj={};
for (i=0;i<len;i++) {
average += arr[i];
}
return (average/arr.length);
}

关于javascript - Angular 4 : invoke method from template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45973878/

26 4 0