javascript - Angular 模块/组件 - 单独显示以及在另一个模块/组件内显示?
问题描述
假设我有ModuleA
一个路由器条目:
path: 'modulea',
loadChildren: './modulea/modulea.module#ModuleA'
ComponentA
(ComponentA
的选择器是component-a
)
ModuleB
路由器条目为:
path: 'moduleb',
loadChildren: './moduleb/moduleb.module#ModuleB'
ComponentB
(ComponentB
的选择器是component-b
)
ComponentA
的模板有<div class="component-a">...</div>
,如果我去 mysite.com/modulea 我会看到我希望看到的一切。
但是,我不能让它ComponentB
像这样显示在 's 的模板中:
<div class="component-b">
Do some stuff
<div class="component-a"></div>
Do more stuff
</div>
哪种对我来说很有意义,因为那时我觉得我基本上是在覆盖ComponentA
的模板(即使它由于其他原因而失败)。
我也不能通过切换ComponentA
到它来显示它。ComponentB
<div class="component-a"></div>
<component-a></component-a>
我发现最接近我想要做的是,Angular 2 component inside other component。这看起来很有希望,但是当我尝试将ComponentA
其作为指令添加到ComponentB
并使用<component-a></component-a>
时,它会引发一个错误,即“'component-a' is not a known element...”
TL;博士:
我希望我的模块/组件显示在我的应用程序自己的页面上,以及显示在应用程序其他地方的另一个模块/组件内。
解决方案
您应该componentA
从您的中导出moduleA
,以便您可以componentB
通过导入ModuleA
在 中安全地使用它ModuleB
。
这将解决您的错误
“‘组件-a’不是已知元素……”
模块A.module.ts:
@NgModule({
declarations:[ComponentA],
exports:[ComponentA]
})
export class ModuleA{
}
模块B.module.ts:
@NgModule({
declarations:[ComponentB],
imports:[ModuleA]
})
export class ModuleB{
}
组件B.component.ts
<div class="component-b">
Do some stuff
<component-a></component-a>
Do more stuff
</div>
推荐阅读
- angular - Angular http.get 请求未按预期工作
- r - R、模拟、p 值、直方图
- google-oauth - 使 Cloud Run 服务成为 Apps 脚本项目的目标的困难——受众和范围
- html - 为什么我的 css 没有将样式应用于 React 组件?
- javascript - 使用 Ramda 根据条件过滤对象
- c++ - C++:如何计算二叉树中其值模块高度小于 2 的节点数?
- php - i'm trying to dump user details (from phpmyadmin database) onto my browser but getting an error code?
- c++ - How can I make a map where the value is an array of structs in C++
- python - NameError: name 'x' is not defined for a gradient descent function already defined. self.function() also not working
- c++ - How to read data in text file and assign arrays each column c++