Vivek
Vivek

Reputation: 293

How to use forEach loop correctly in angular 2?

I am new to Angular2 and here I am trying to loop through the array "mmEditorTypes" and checking the condition, if the condition is satisfied then I'll be executing the "open method".

But whenever i execute the below code, I am getting this error :

portalModeService: loading of portalMode threw exception:

TypeError: Cannot read property 'forEach' of undefined".

Could someone let me know how to fix this error?

porta.service.ts :

function isAppContained(viewState, appType){
      let angular:any;
      let isContained = false;
      angular.forEach(viewState.appViewStates, function (appViewState) {
        if (appViewState.signature.appType === appType) {
          isContained = true;
        }
      });
      return isContained;
    }

Upvotes: 4

Views: 41682

Answers (2)

As @Sajeetharan said you can't use angular.forEach in angular 2+

So you can use simple foreach in typescript like :

var someArray = [1, 2, 3];
someArray.forEach((item, index) => {
  console.log(item); // 1, 2, 3
  console.log(index); // 0, 1, 2
});

Upvotes: 11

Sajeetharan
Sajeetharan

Reputation: 222582

You cannot use angular.forEach with angular , its with angularjs.

use

for (let appViewState of viewState.appViewStates) {
   if (appViewState.signature.appType === appType) {
          isContained = true;
    }
}

Upvotes: 5

Related Questions