javascript - Angular 2 Material : sidenav toggle from component

标签 javascript angular angular2-template angular-material2

我在我的项目中以这种方式使用 Angular 2 Material sidenav:

<md-sidenav-layout>
  <md-sidenav #start mode="side" [opened]="true">
      <md-nav-list>
      </md-nav-list>
  </md-sidenav>

  <button md-button (click)="start.toggle()">Close</button>

  <router-outlet></router-outlet>

</md-sidenav-layout>

如何从我的组件调用 start.toggle() 而不是带有点击事件的元素?

感谢阅读

最佳答案

你想在你的 Controller 中声明一个 ViewChild 来引用你组件中的 MdSidenav,像这样:

// Sidemenu
@ViewChild('start') sidenav: MdSidenav;

其中 start 是您要引用的组件的名称,在本例中为 sidenav。

接下来,您可以在该 sidenav 上调用方法,例如在您的 Controller 函数中调用 this.sidenav.toggle()

https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#parent-to-view-child

关于javascript - Angular 2 Material : sidenav toggle from component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998157/

相关文章:

angular - 动态 ngTemplateOutlet 值

javascript - 订阅派生类上的 Angular2 事件

json - 如何使用 angular2 react 形式构建嵌套数组?

javascript - 如何使用 JavaScript 确定 Opera 浏览器

javascript - 补间许多圆弧

javascript - 按钮未触发响应

angular - 为什么 setValidators() 在下一次更改时开始使用新的验证器,而不是立即

javascript - Angular 5 仅对模糊进行验证?

javascript - 使用搜索删除 map 图钉

angular - 包装或扩展 Angular Material 组件,允许将未知属性传递给子组件