Я использую onsen ui с typescript и angularJS с ons-sliding-menu:
<ons-sliding-menu menu-page="menu.html" main-page="link/to/some/page.html" side="left"
var="menu" type="reveal" max-slide-distance="260px" swipable="true">
</ons-sliding-menu>
<ons-template id="menu.html">
<ons-page modifier="menu-page">
<ons-toolbar modifier="transparent"></ons-toolbar>
<ons-list class="menu-list">
<ons-list-item class="menu-item" ng-click="menu.setMainPage('link/to/some/page.html', {closeMenu: true})">
Home
</ons-list-item>
<ons-list-item class="menu-item" ng-click="menu.setMainPage('link/to/some/other/page.html', {closeMenu: true})">
Home
</ons-list-item>
</ons-list>
</ons-page>
</ons-template>
Это дает мне мое меню, и все в порядке.... Когда я перешел к link/to/some/page.html, мне нужно передать некоторые параметры в link/to/some /other/page.html с помощью этого кода:
$scope.myNavigator.pushPage("link/to/some/other/page.html", {param1: "bla", param2: "blabla"});
Я прочитал параметры, используя этот код:
var page = $scope.myNavigator.getCurrentPage();
console.log(page.options.param1); // Should return "bla"
Это дает мне ошибку, потому что param1 не определен. Я не уверен, почему это происходит, потому что это код с onsenUI-страницы. Я думаю, это потому, что я уже определил страницу link/to/some/other/page.html в моем ons-sliding-menu....
Каждая страница выглядит так:
<ons-navigator title="Navigator" var="myNavigator">
<div ng-controller="ControllerOfPage">
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggle()">
<ons-icon icon="ion-navicon" size="28px" fixed-width="false"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">{{title}}</div>
</ons-toolbar>
PAGE CONTENT
</ons-page>
</div>
</ons-navigator>
Какие-либо предложения? Спасибо!