2

test()メソッドが呼び出されたとき、start.toggle()関数(これは角度2の材料md-sidenav-レイアウトコンポーネントに属します)を開始したいと考えています。 md-sidenav-layout start.toggle()に電話する方法app.component.tsコンポーネントコードによる角度2の材料制御

app.component.html

<md-sidenav-layout class="sidenav" fullscreen> 
    <md-sidenav #start> 
     Start Side Drawer 
     <br> 
     <md-nav-list> 
      <a md-list-item [routerLink]="['']">Home</a> 
      <a md-list-item [routerLink]="['about']">About</a> 
     </md-nav-list> 
     <button md-button (click)="start.close()">Close</button> 
    </md-sidenav> 

    <div class="content"> 
     <button md-button (click)="start.toggle()">Toggle Start Side Drawer</button> 

     <button md-button (click)="test()">Test Button</button> 
     <main> 
      <router-outlet></router-outlet> 
     </main> 
     <footer> 
     </footer> 
    </div> 
</md-sidenav-layout> 

app.component.ts

import {Component} from '@angular/core'; 
// what to import here? 

@Component({ 
    selector: 'my-app', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.scss'], 
}) 
export class AppComponent { 
    constructor() { 
    } 

    test() { 
     // how to call md-sidenav-layout start.toggle() properly here? 
     start.toggle(); 
    } 
} 

答えて

2

あなたがそれを使用することができますので、あなたの関数にオブジェクトを渡します。あなたのコンポーネントで

<button md-button (click)="test(start)">Test Button</button> 

test(start: any) { 
     start.toggle(); 
    }