我有一个简单的函数,它将值作为数字返回给我。这个值基本上是一个todolist中有多少项不完整。
testFunction() {
var a = 0;
this.todos.forEach(function(elem, i) {
if(elem.status === true) {
a += 1;
}
})
console.log(a); // gives correct length
}
现在我已经
了Total todo Items Left <span>{{a}}</span> //Nothing coming here?
如何在模板中记录a
的值
答案 0 :(得分:1)
Angular只能使用组件的自己的数据字段将数据绑定到模板。所以你的代码需要如下
testFunction() {
this.a = 0;
this.todos.forEach(function(elem, i) {
if(elem.status === true) {
this.a += 1;
}
}.bind(this))
console.log(a); // gives correct length
}
UPD 如果您想使用ES6语法,您甚至不需要绑定this
,您只需使用从父作用域传递this
的箭头函数: / p>
testFunction() {
this.a = 0;
this.todos.forEach((elem, i) => {
if(elem.status === true) {
this.a += 1;
}
})
console.log(a); // gives correct length
}