Angular2 HTML指令中#的含义是什么?

时间:2017-02-04 03:07:33

标签: html angular typescript

我正试图触发sidenav的状态(打开和关闭)。我有这个:

empid

如果sidenav状态发生变化,我如何使用TypeScript文件中的#sidenav更改isNavbarOpen字段?

我怎样才能覆盖sidenav.open()方法?

1 个答案:

答案 0 :(得分:1)

这是一种更好的方法,因此您可以使用所有属性并订阅所有事件。不要将它传递给open()/ close()函数。

import { Component, ViewChild, OnInit } from '@angular/core';
import { MdSidenav } from '@angular/material';

@Component({
....
})
export class AppComponent implements OnInit {
    public isNavbarOpen: boolean;

    // This gets a reference to the #sidenav
    @ViewChild('sidenav') sidenav: MdSidenav;

    ngOnInit() {
        // Subscribe to the onCloseStart event
        this.sidenav.onCloseStart.subscribe(() => {
            this.isNavbarOpen = true;
        });
    }

    open() {
       this.sideNav.open();
    }
 }

使用" ViewChild"来引用它。和MdSidenav:

{{1}}