我是Angular2的新手,在这里我试图循环遍历数组“mmEditorTypes”并检查条件,如果条件满足,那么我将执行“open方法”.
portalModeService:portalMode的加载抛出异常:
TypeError: Cannot read property ‘forEach’ of undefined”.
porta.service.ts:
let mmApplicationType = this.applicationTypes['mm.application'];
mmEditorTypes = [
{
type: mmApplicationType,
payload: {
'mm.application': 'mm.application'
}
}
];
mmEditorTypes.forEach(function(editor) {
if (!isAppContained(viewState, editor.type)) {
this.applicationLifeCycleService.open(editor.type, editor.payload);
}
});
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;
}
解决方法:
你不能将angular.forEach与angular一起使用,它与angularjs一起使用.
使用
for (let appViewState of viewState.appViewStates) {
if (appViewState.signature.appType === appType) {
isContained = true;
}
}