【问题标题】:Angular2 material control through component code通过组件代码控制 Angular2 材质
【发布时间】:2016-10-26 14:09:08
【问题描述】:

我想在调用test() 方法时启动start.toggle() 函数(属于Angular 2 材质md-sidenav-layout 组件)。 app.component.ts中如何调用md-sidenav-layoutstart.toggle()

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();
    }
}

【问题讨论】:

    标签: angular typescript navigation-drawer angular-material2 angular2-material


    【解决方案1】:

    将对象传递给您的函数,以便您可以使用它。

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

    在你的组件中

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

    【讨论】:

      猜你喜欢
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 2017-05-15
      • 2018-12-16
      相关资源
      最近更新 更多