NavigatorView的页面堆栈是空的,返回主页面Onsen UI

时间:2015-09-30 16:08:17

标签: javascript angularjs onsen-ui

hallo我是Onsen UI Framework的新手。非常好的框架和美丽。但我有导航问题。从主页面到另一个模板,在此模板中,我键入一些数据并保存,然后自动返回到主页面。我正在使用myNavigator.popPage()。我有错误NavigatorView的页面堆栈是空的。这里我的代码我正在使用滑动菜单

的index.html

    <ons-navigator title="Navigator" var="myNavigator">
          <ons-sliding-menu close-on-tap
                          main-page="main.html"
                          menu-page="menu.html"       
                          side="left"
                          max-slide-distance="250px"
                          var="menu">
        </ons-sliding-menu>
  </ons-navigator>


 <ons-template id="menu.html">      
  <ons-list>
    <ons-list-item modifier="chevron" onclick="menu.setMainPage('nomor.html', {closeMenu: true})">
      Setting Nomor
    </ons-list-item>
  </ons-list>
</ons-template>


<ons-template id="nomor.html">
    <ons-page ng-controller="penomoranController">
    <ons-toolbar>
      <div class="left">
        <ons-toolbar-button ng-click="menu.toggleMenu()"><ons-icon icon="ion-navicon" style="font-size: 32px; width: 1em;"></ons-icon></ons-toolbar-button> 
    </div>
      <div class="center"> Setting Nomor</div>

      <div class="right">
        <div id="prosesAjax"></div>
      </div>

    </ons-toolbar>

        <ons-list>
            <ons-list-item>
                <input type="text" placeholder="nomor" ng-model="noini"  class="text-input text-input--transparent" style="margin-top:8px; width: 100%;">
            </ons-list-item>
        </ons-list>

        <div class="content-padded">
        <ons-button id="btnSignIn" modifier="large"  ng-click="saveData()">
          Save
        </ons-button>
      </div>
  </ons-page>
</ons-template>

AngularJS控制器

agendaApp.controller('penomoranController',function ($scope){
                 $scope.saveData=function(){
                            $scope.myNavigator.popPage();
                 };


     }); 

问题是当我点击保存按钮获取错误NavigatorView的页面堆栈是空的,有什么问题?谢谢你的回答

1 个答案:

答案 0 :(得分:1)

menu.setMainPage正在设置一个新堆栈,所以在你的情况下,myNavigator堆栈中只有一个页面(nomor.html)。因此,当您尝试popPage时,没有其他页面可以返回。

解决方案 - 尝试myNavigator.pushPage(nomor.html)以便myNavigator堆叠将nomor.html推送到其堆栈。然后你可以popPage