別のコンポーネントでテンプレート参照変数をターゲットにする方法があるのだろうかと思っていました。私がここでやろうとしていることは、TRV 'sidenav'を介してサイドデーヴァーのオープン機能を呼び出すことでサイドナビゲーションをトリガーすることです。別のコンポーネントのテンプレート参照変数を角度2でターゲットにする方法はありますか?
app.component.html '
<md-sidenav-layout>
<md-sidenav #sidenav (open)="mybutton.focus()">
Start Sidenav.
<br>
<button md-button #mybutton (click)="sidenav.close()">Close</button>
</md-sidenav>
<top-bar></top-bar>
<main class="main" (openNav)="sidenav.open()">
<router-outlet></router-outlet>
</main>
</md-sidenav-layout>
`
topbar.component.html '
<md-toolbar color="primary">
<button class="app-icon-button" (click)="openSideNav()">
<i class="material-icons app-toolbar-menu">menu</i>
</button>
<span [routerLink]="['']">Home</span>
<span [routerLink]="['test']" class="navlink">Test</span>
<span class="navlink" (click)="signout()">signout</span>
</md-toolbar>
`
topbar.component.ts `
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'top-bar',
templateUrl: './topbar.component.html',
styleUrls: ['./topbar.component.css']
})
export class TopbarComponent implements OnInit {
constructor() { }
@Output() openNav = new EventEmitter();
openSideNav(){
console.log(this.openNav.emit());
this.openNav.emit();
}
ngOnInit() {
}
}
`
私はtopbarディレクティブからのアプリのコンポーネントでテンプレート変数をターゲットにすることは可能ですか?
これは可能だとは思いませんが、これをトップバーのイベントにバインドして、navを開いたり閉じたりするタイミングを決めることができます – galvan