我很有棱角。我试图实现,因为菜单从家里填充,menumodel与home.component.html绑定,但我有另一个选项卡applyTab,它在切换时显示树结构的一些值。所以如果打开applytab并且从节点显示相同的值,我必须填充一个子菜单。我正在尝试在应用选项卡中填充menumodel,并在调用已在应用选项卡中调用的方法时显示值。我在进行映射时遇到了这个错误。
以下是我目前的做法
在应用标签
中import { HomeComponent } from 'app/home/home.component';
@Input() public home: HomeComponent;
this.home.menuModel = this.items = [{
label: 'Add',
items: [{
label: 'Tree',
},
{ label: 'Show ID',
command: (event) => {
this.toggleNodeDisplay();
}
}
]
}
];
在进行两个组件的映射时,我得到以下错误。
错误错误:未捕获(在承诺中):错误:类型HomeComponent是部分 2个模块的声明:HomeModule和ApplyModule!请 考虑将HomeComponent移动到更高的导入模块 HomeModule和ApplyModule。您还可以创建一个新的NgModule 导出并包含HomeComponent然后导入NgModule HomeModule和ApplyModule。错误:类型HomeComponent是其中的一部分 2个模块的声明:HomeModule和ApplyModule!请考虑 将HomeComponent移动到更高的模块,导入HomeModule和 ApplyModule。您还可以创建一个导出和导出的新NgModule 包括HomeComponent然后导入HomerModule中的NgModule和 ApplyModule。
at syntaxError(compiler.js:485) at CompileMetadataResolver._addTypeToModule(compiler.js:15373) 在eval(compiler.js:15245) 在Array.forEach() at CompileMetadataResolver.getNgModuleMetadata(compiler.js:15236) 在JitCompiler._loadModules(compiler.js:34226) 在JitCompiler._compileModuleAndComponents(compiler.js:34187) 在JitCompiler.compileModuleAsync(compiler.js:34081) 在CompilerImpl.compileModuleAsync(platform-browser-dynamic.js:230) 在eval(core.js:6589) 在syntaxError(compiler.js:485) at CompileMetadataResolver._addTypeToModule(compiler.js:15373) 在eval(compiler.js:15245) 在Array.forEach() at CompileMetadataResolver.getNgModuleMetadata(compiler.js:15236) 在JitCompiler._loadModules(compiler.js:34226) 在JitCompiler._compileModuleAndComponents(compiler.js:34187) 在JitCompiler.compileModuleAsync(compiler.js:34081) 在CompilerImpl.compileModuleAsync(platform-browser-dynamic.js:230) 在eval(core.js:6589) at resolvePromise(zone.js:824) at resolvePromise(zone.js:795) 在eval(zone.js:873) 在ZoneDelegate.invokeTask(zone.js:425) at Object.onInvokeTask(core.js:4747) 在ZoneDelegate.invokeTask(zone.js:424) 在Zone.runTask(zone.js:192) 在drainMicroTaskQueue(zone.js:602) 在ZoneTask.invokeTask [作为调用](zone.js:503) at invokeTask(zone.js:1540) defaultErrorLogger @ core.js:1427 ErrorHandler.handleError @ core.js:1488 next @ core.js:5503 schedulerFn @ core.js:4342 SafeSubscriber .__ tryOrUnsub @ Subscriber.js:239 SafeSubscriber.next @ Subscriber.js:186 Subscriber._next @ Subscriber.js:127 Subscriber.next @ Subscriber.js:91 Subject.next @ Subject.js:56 EventEmitter.emit @ core.js:4322 (匿名)@ core.js:4778 ZoneDelegate.invoke @ zone.js:392 Zone.run @ zone.js:142 NgZone.runOutsideAngular @ core.js:4704 onHandleError @ core.js:4778 ZoneDelegate.handleError @ zone.js:396 Zone.runGuarded @ zone.js:158 _loop_1 @ zone.js:702 api.microtaskDrainDone @ zone.js:711 drainMicroTaskQueue @ zone.js:610 ZoneTask.invokeTask @ zone.js:503 invokeTask @ zone.js:1540 globalZoneAwareCallback @ zone.js:1566
答案 0 :(得分:0)
此错误基本上意味着您HomeComponent
已在HomeModule
和ApplyModule
中声明。
组件只应在一个模块中声明。
您可以从这两个模块中删除HomeComponent
的声明,将其添加到AppModule
中,然后导入AppModule
中的两个模块。
这样,您的错误就会得到解决。