Angular4/Typescript中的Angular ForEach是什么?

32

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

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

 _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;
    });
  });
};
这个在Angular 4中的Typescript构造看起来是什么样子?

这个在Angular 4中的Typescript构造看起来是什么样子?


_this.hierarchicalData.forEach 应该可以工作... 为什么你在这里需要使用 angular.forEach。原生的最好 :p - Pankaj Parkar
尝试使用 Array.forEach - anoop
4个回答

60

在 Angular4 中使用类似于 foreach 的循环,可以尝试以下方法:

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

您可以在阅读本文后进行选择。https://dev59.com/s2Yr5IYBdhLWcg3wOX26 - Ranjithkumar
3
forEach,大写字母 E。 :-) - Mr. B.

15

你可以尝试使用TypeScript的For

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

5
for 不是 TypeScript,它是 JavaScript。 - user663031

5
arrayData.forEach((key : any, val: any) => {
                        key['index'] = val + 1;

                        arrayData2.forEach((keys : any, vals :any) => {
                            if (key.group_id == keys.id) {
                                key.group_name = keys.group_name;
                            }
                        })
                    })

-1
在Typescript中使用以下方式来使用For Each。
selectChildren(data, $event) {
let parentChecked = data.checked;
for(var obj in this.hierarchicalData)
    {
        for (var childObj in obj )
        {
            value.checked = parentChecked;
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接