Angular4 Material : How to load content to sidenav

标签 angular angular-material2

所以我把我的 sidenav 放在了 app.component 中,比如:

<md-sidenav-container fullscreen> 
  <md-sidenav #sidepanel>...</md-sidenav>
  <div class="app">
    <main>
      <router-outlet></router-outlet>
    </main>
  </div>
</md-sidenav-container>

现在,我将对 sidenav 的引用放到了我的 siteService 中,它可以俯瞰所有内容,并且无论何时我注入(inject) siteService 组件,我都可以控制它。

我想动态加载内容(类似于 router-outlet 对 router-naviagtion 的作用...

假设我想将 XyComponent1 或 XyComponent2 加载到侧导航,我该如何以编程方式执行此操作?

最佳答案

您可以使用辅助路由来执行此操作:

<md-sidenav-container fullscreen> 
  <md-sidenav>
    <router-outlet name="sidenav"></router-outlet>
  </md-sidenav>
  <div class="app">
    <main>
      <router-outlet></router-outlet>
    </main>
  </div>
</md-sidenav-container>

并且您可以通过传递 socket 名称来控制它:

<a [routerLink]="[{ outlets: { 'sidenav': ['sidenav-component1'] } }]">
  Click to apply new sidenav.
</a>

您还需要定义路由的组件。 This guide是有关使用辅助路由的更多详细信息的精彩摘录。

关于Angular4 Material : How to load content to sidenav,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45969288/

相关文章:

angular - 无法在 Angular 应用程序上设置断点

web-services - Ionic 2 中 GET 请求出现 401 未经授权错误?

angular - 在 ng2-dragula 中询问删除确认

javascript - Angular2 Routing - 将数据从父组件传递到子子组件

html - 如何使选择元素根据元素字符串长度进行调整? ( Angular 2)

css - 设置 Angular Material Tooltip 的字体大小

在 iis 上发布时出现 Angular 2 错误

angular - 'mat-form-field' 不是已知元素 - Angular 5 和 Material2

angular - 滑动时获取 Angular Material v2 slider 的值

Angular 垫表 - 让点击事件工作