Angular2等同于模板继承

标签 angular

在我的 angular2 应用程序中,我有 AppModule、AppComponent(仅由 router-outlet 组成)和 LoginComponent:

<form><input type="password"></form>

...和文档列表(DocumentsComponent):

<nav>...</nav>
<ul>
 <li>Document A</li>
 <li>Document B</li>
 <li>Document C</li>
</ul>

...和一个用户列表(UsersComponent):

<nav>...</nav>
<ul>
 <li>User A</li>
 <li>User B</li>
 <li>User C</li>
</ul>

登录应该是全屏的。所以没有导航。在所有其他组件上应该有一个导航。所以在真正的应用程序中,它不仅仅是导航。围绕内容还有更多组件。

在 Twig 中,我会使用类似扩展的东西。但我知道 Angular 中模板的结构和思想是不同的。

那么我应该把“包装器”(导航、页脚……)放在哪里,并在 Documents- 和 UsersComponent 中显示它,而不是在 LoginComponent、RegisterComponent、ErrorComponent……中显示?

最佳答案

使用child routes

或者如果您的用户没有登录,只需将登录表单放在应用程序前面,固定位置以对用户隐藏所有内容——这是简单但有点肮脏的解决方案

你也可以使用hierarchical di在你想要的地方放置一些组件

Compile你的组件以动态方式但这是这里最糟糕的情况

关于Angular2等同于模板继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39270620/

相关文章:

angular2 在 init 上设置事件选项卡

angular - ¿关闭 ANGULAR 5 表单的模态?

javascript - 一次运行 Angular 4 + Node API

angular - 错误 TS2559 : Type 'Headers' has no properties in common with type 'RequestOptionsArgs'

javascript - 如何在 Angular2 View 中显示 JSON 对象

c# - 当服务器返回 401 响应时,请求的资源上不存在 'Access-Control-Allow-Origin' header

javascript - 如何在 Chrome 的性能分析器中调试匿名 JavaScript 函数?

javascript - 我如何在 Angular 4 项目中使用 jquery owlCarousel

angularjs - angular2 http 类型错误

angular - 如何以angular 5获取上一页URL