通用侧边菜单组件

时间:2017-03-01 23:48:29

标签: angular nativescript nativescript-telerik-ui

我使用来自nativescript-ui-samples-angular repo的代码用于RadSideDrawer(侧边菜单)。它工作得很好,但是当我尝试将它全部包装在一个单独的组件中时,然后我通过选择器将其添加到其他组件中它会变平。

@ViewChild(RadSideDrawerComponent) public drawerComponent: RadSideDrawerComponent;
private drawer: SideDrawerType;

ngAfterViewInit() {
    this.drawer = this.drawerComponent.sideDrawer;
    this._changeDetectionRef.detectChanges();
}

它说

  

无法读取属性' sideDrawer'未定义的

我错过了什么吗?问题不在于侧边菜单本身,而是将其包装成可重用的组件。

1 个答案:

答案 0 :(得分:1)

除了通过RadSideDrawerComponent获取引用的方法之外,您还可以使用Angular id并将其传递给@ViewChild指令,如下所示

file.component.html (为您的抽屉创建唯一ID)

<RadSideDrawer #myDrawer>

<强> file.component.ts

@ViewChild("myDrawer") public drawerComponent: RadSideDrawerComponent;

可以找到测试项目here(查看 app / home / home.component.ts