ネイティブスクリプトにはtelerik uiを使用しています。サイドメニューを開くには、上部にトグルボタンが必要です。ドキュメントごとにShowdrawer()
に電話することはできません。 ボタンクリックサイドメニューが必要です。私はRadSideDrawer.prototype.showDrawer()
を呼び出してみましたが、失敗しました。 Nativescript
のサイドメニューはありますか?Nativescript - ボタンクリック時のSideDrawer
メインpage.xml
<Page xmlns="http://www.nativescript.org/tns.xsd" xmlns:drawer="nativescript-telerik-ui/sidedrawer" loaded="pageLoaded">
<Page.actionBar>
<ActionBar>
<android>
<NavigationButton text="Go Back" android.systemIcon="ic_menu_moreoverflow" tap="showSideDrawer" />
</android>
</ActionBar>
</Page.actionBar>
<drawer:RadSideDrawer>
<drawer:RadSideDrawer.mainContent>
<StackLayout>
<Label text="{{ mainContentText }}" textWrap="true" />
</StackLayout>
</drawer:RadSideDrawer.mainContent>
<drawer:RadSideDrawer.drawerContent>
<StackLayout cssClass="drawerContent" style="background-color:white;">
<StackLayout cssClass="headerContent">
<Label text="Header" />
</StackLayout>
<StackLayout cssClass="drawerMenuContent">
<Label text="Item 1" style="color:black;" />
<Label text="Item 2" style="color:black;" />
<Label text="Item 3" style="color:black;" />
<Label text="Item 4" style="color:black;" />
</StackLayout>
</StackLayout>
</drawer:RadSideDrawer.drawerContent>
</drawer:RadSideDrawer>
</Page>
-始める-model.js
var observableModule = require("data/observable");
var GettingStartedViewModel = (function (_super) {
__extends(GettingStartedViewModel, _super);
function GettingStartedViewModel() {
_super.call(this);
this.set("mainContentText", "SideDrawer for NativeScript can be easily setup in the XML definition of your page by defining main- and drawer-content. The component"
+ " has a default transition and position and also exposes notifications related to changes in its state.");
}
return GettingStartedViewModel;
})(observableModule.Observable);
exports.GettingStartedViewModel = GettingStartedViewModel;
function showSideDrawer(args) {
console.log("Show SideDrawer tapped.");
// Show sidedrawer ...
_super.prototype.showDrawer.call(this);
}
exports.showSideDrawer = showSideDrawer;
メインpage.js
var viewModelModule = require("./getting-started-model");
function pageLoaded(args) {
console.log("Page loaded");
var page = args.object;
page.bindingContext = new viewModelModule.GettingStartedViewModel();
}
exports.pageLoaded = pageLoaded;
呼び出すことができますので、あなたの問題はsideDrawer
<drawer:RadSideDrawer id="sideDrawer">
にIDを割り当てる修正するために、引き出しに割り当てられていなかった - http://docs.telerik.com/de vtools/nativescript-ui/Controls/NativeScript/SideDrawer/getting-started。 –main-page.jsには( "./ getting-started-model")が必要で、あなたのページはメインページモデルと呼ばれます。これは障害を引き起こす可能性がありますか? –
申し訳ありませんが、それはtypoです。それは問題ではないと思われます –