0
你好我的同胞堆栈,componentHandler没有定义
我目前正在一个项目。我现在有点卡住了。我试图让一个对话框工作,但迄今不太好。我在最后阶段,我必须定义我的componentHandler工作。但是我收到错误信息“EXCEPTION:ReferenceError:componentHandler is not defined”。
这是我在我的AppComponent中定义componentHandler的代码。
import { Component, OnInit, ViewContainerRef, Input } from '@angular/core';
import '../styles/global.css';
import { ROUTER_DIRECTIVES } from "@angular/router";
import { MODAL_DIRECTVES, BS_VIEW_PROVIDERS, CollapseDirective } from '../../node_modules/ng2-bootstrap/ng2-bootstrap';
import { LoginService } from "./services/login.service";
import { MenuService } from "./services/menu.service";
import { Menu } from './models/menu';
import { MenuGroup } from './models/menu-group';
import { MenuGroupedArea } from './models/menu-grouped-area';
import { MenuItem } from './models/menu-item';
import {ConfirmService} from "./components/confirm/confirm.service";
import {ConfirmComponent} from "./components/confirm/confirm.component";
declare var componentHandler: any;
@Component({
selector: 'app-container',
template: require('./app.component.html'),
styles: [require('./app.component.css')],
viewProviders: [BS_VIEW_PROVIDERS],
directives: [MODAL_DIRECTVES, ROUTER_DIRECTIVES, CollapseDirective, ConfirmComponent],
providers: [
LoginService, MenuService, ConfirmService]
})
export class AppComponent implements OnInit {
public isCollapsed: boolean;
public viewContainerRef: ViewContainerRef;
public menu: Menu;
constructor(viewContainerRef: ViewContainerRef, private _confirmService: ConfirmService) {
this.viewContainerRef = viewContainerRef;
this.menu = new Menu();
var area = new MenuGroupedArea();
area.identifier = "Navigation";
var group = new MenuGroup();
group.identifier = "Group";
var item = new MenuItem();
item.identifier = "Item";
group.items.push(item);
area.groups.push(group);
this.menu.areas.push(area);
}
title = "Notifier!!!"
showConfirmDialog() {
this._confirmService.activate("Are you sure?")
.then(res => console.log(`Confirmed: ${res}`));
}
ngOnInit(): any {
componentHandler.upgradeDom();
}
}
欢迎任何形式的答案或问题!
你有什么期望。你只声明componentHandler,但你永远不会定义它,所以componentHandler是未定义的。 – Christoph
即使当我“componentHandler.upgradeDom =新的componentHandler();”它仍然没有定义,或者我在这里做错了什么? –
这里的问题是'componentHandler'已经不确定,所以如果你尝试设置未定义的'upgradeDom'字段就会出错。所以'componentHandler.upgradeDom = new componentHandler();'不工作,但'componentHandler = {upgradeDom = new componentHandler()};'会工作。 – Christoph