【发布时间】:2018-04-07 01:41:48
【问题描述】:
我正试图分别了解 Angular2 和 Typescript。我想要做的是从子组件中的按钮打开一个sidenav - 这里是app-header。
我知道我可以打开它
<button mat-button (click)="sidenav.open()">Open sidenav</button>
但这只有在我将它放在父模板中时才有效,因为它引用了模板变量引用sidenav。但是,正如我所说,我想通过点击一个孩子的按钮来打开它。
这将是我的布局/应用程序模板:
<mat-sidenav-container>
<mat-sidenav #sidenav>
<!-- sidenav content -->
Here comes the menu ..
</mat-sidenav>
<div>
<app-header>
<!-- Application header -->
</app-header>
</div>
</mat-sidenav-container>
这将是标题模板:
<div>
header for {{title}} works!
<button mat-button (click)="sidenav.open()">Open sidenav</button>
</div>
当然这会失败,因为我无法引用 sidenav - 那么我如何才能正确地从孩子内部访问 sidenav?
或者在 Angular2 中传递这样的引用是“不”,我实际上应该使用基于事件的触发器或类似的东西?
【问题讨论】:
-
sidenav 变量到底指的是什么?你能告诉我们那个代码吗?
标签: angular