【发布时间】:2020-04-09 16:06:36
【问题描述】:
我正在使用 Angular 8 和 NativeScript 6.4.1 编写应用程序。
我想实现一个侧抽屉,它只会在主页上按下汉堡包按钮时显示。我不希望它显示任何其他时间。
我已阅读此文档:https://docs.nativescript.org/angular/ui/ng-components/ng-SideDrawer/getting-started#initialization
我试图实现这个侧抽屉,但它一直给我这个错误:
"TypeError: Cannot read property 'showDrawer' of undefined"
这是我的游乐场: https://play.nativescript.org/?template=play-ng&id=ujiNiC&v=2
代码sn-p:
export class HomeComponent implements OnInit {
@ViewChild(SideDrawerComponent, { static: false }) public drawerComponent: SideDrawerComponent;
private drawer: RadSideDrawer;
constructor() {
}
ngOnInit(): void {
}
public openSideDrawer() {
this.drawer.showDrawer();
}
}
【问题讨论】:
-
您不能访问不在其自身模板中的组件。使用 rxjs 布尔主题创建服务,订阅侧抽屉组件中的主题,在值更改时打开/关闭抽屉。在 home 组件中使用相同的主题来触发更改。
标签: angular navigation nativescript navigation-drawer