【发布时间】:2017-03-06 10:57:30
【问题描述】:
您好,我正在尝试使用这样的自定义组件。但我无法使用 getViewById 访问元素,它返回未定义。并且无法在 main-page.js 上捕获点击事件。
Sidemenu.xml
<dpg:DrawerPage
xmlns:dpg="nativescript-telerik-ui/sidedrawer/drawerpage"
xmlns:drawer="nativescript-telerik-ui/sidedrawer"
xmlns:sidemenu="components/sidemenu"
xmlns="http://www.nativescript.org/tns.xsd">
<dpg:DrawerPage.sideDrawer >
<drawer:RadSideDrawer id="sideDrawer">
<drawer:RadSideDrawer.drawerContent>
<StackLayout cssClass="drawerContent">
<StackLayout cssClass="headerContent" style="width: 80%;">
<Label text="Navigation Menu"/>
</StackLayout>
<ScrollView>
<StackLayout cssClass="drawerMenuContent">
<Label text="Primary" cssClass="drawerSectionHeader" />
<Label text="Social" cssClass="drawerSectionItem" />
<Label text="Promotions" cssClass="drawerSectionItem" />
<Label text="Labels" cssClass="drawerSectionHeader" />
<Label text="Important" cssClass="drawerSectionItem" />
<Label text="Starred" cssClass="drawerSectionItem" />
<Label text="Sent Mail" cssClass="drawerSectionItem" />
<Label text="Drafts" cssClass="drawerSectionItem" />
</StackLayout>
</ScrollView>
<Button text="Close Drawer" tap="tap"/>
</StackLayout>
</drawer:RadSideDrawer.drawerContent>
</drawer:RadSideDrawer>
</dpg:DrawerPage.sideDrawer>
</dpg:DrawerPage>
main-page.xml
<sidemenu:sidemenu xmlns:sidemenu="components/sidemenu"
class="page" loaded="onLoaded" navigatedTo="onNavigatedTo">
<StackLayout orientation="vertical">
<Button text="Button 1" id="btn1">
</StackLayout>
</sidemenu:sidemenu>
main-page.js
exports.onLoaded = function(args){
page = args.object;
page.bindingContext = viewModel;
console.log(page.getViewById("btn1")); //undefined
};
【问题讨论】:
标签: nativescript