2017-06-12 37 views
3

我看到很多关于使用ngFor的答案,当我搜索这个,但我理解ngFor。我在问我在Angular 1控制器中使用的构造函数angular.forEach()。这些被标记为TS中的错误并且不会被编译。Angular4中的Angular ForEach/Typescript?

例如,我有一个嵌套循环:

_this.selectChildren = function (data, $event) { 
    var parentChecked = data.checked; 
    angular.forEach(_this.hierarchicalData, function (value, key) { 
    angular.forEach(value.children, function (value, key) { 
     value.checked = parentChecked; 
    }); 
    }); 
}; 

这是什么构造的样子在打字稿对角4?

+0

'_this.hierarchicalData.forEach'应该工作..为什么你需要在这里angular.forEach。本机最好:p –

+0

尝试[Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach?v=control) – anoop

回答

8

in angular4 foreach like that。尝试这个。

selectChildren(data, $event) { 
     let parentChecked = data.checked; 
     this.hierarchicalData.foreach(obj => { 
      obj.foreach(childObj=> { 
      value.checked = parentChecked; 
     }) 
     }; 
    } 
4

你可以尝试打字稿的For

selectChildren(data , $event){ 
    let parentChecked : boolean = data.checked; 
    for(let o of this.hierarchicalData){ 
     for(let child of o){ 
     child.checked = parentChecked; 
     } 
    } 
} 
+1

'for'是不是TypeScript。它是JavaScript。 – 2017-06-14 04:17:49