在使用<ons-navigator>?</ons-navigator>时,如何在保持状态的同时在页面之间导航?

时间:2015-03-20 19:05:34

标签: onsen-ui

我有3个主要页面:列表(商家),搜索和收藏夹。用户可以从列表页面深入了解有关业务的详细信息。

我正在使用&lt; ons-navigator&gt;。从列表导航到详细信息并返回列表正在按预期工作,因为我正在使用&lt; ons-back-button&gt;。由于Onsen-UI正在执行popPage()。

,因此维护了列表页面状态

我的问题是如何在保持列表状态的同时从收藏夹导航回列表或搜索?现在我正在使用pushPage(),但不断向堆栈添加页面。如果你把一个页面推到页面堆栈并且它已经存在,我不会想到它应该如何工作和实际说话......它不应该被添加而是应该被添加它应该移到顶部。只是一个想法。

我的代码:

<ons-navigator var="app.navi" page="list.html"></ons-navigator>

<ons-template id="list.html">
    <ons-page id="list-page">
        <ons-toolbar>
            <div class="center">Near Me</div>
        </ons-toolbar>
        <ons-list></ons-list>
    </ons-page>
</ons-template>

<ons-template id="search.html">
    <ons-page id="search-page">        
        <ons-toolbar>
            <div class="center">Search</div>
        </ons-toolbar>
    </ons-page>
</ons-template>

<ons-template id="favourites.html">
    <ons-page id="favourites-page">
        <ons-toolbar>
            <div class="center">Favourites</div>
        </ons-toolbar>
    </ons-page>
</ons-template>

<ons-template id="detail.html">
    <ons-page id="detail-page">            
        <ons-toolbar>
            <div class="left">
                <ons-back-button>Back</ons-back-button>
            </div>
        </ons-toolbar>
        <ons-list></ons-list>
    </ons-page>
</ons-template>

<ons-template id="sub-detail-page.html">
    <ons-page id="sub-detail-page">
        <ons-toolbar>
            <div class="left"><ons-back-button>Back</ons-back-button></div>
            <div class="center">Sub Detail Page</div>
        </ons-toolbar>
    </ons-page>
</ons-template>

$( $lstElmnt.children('.item'), this ).on( 'click', function() {
    currentItem = getEstablishment( $( this ).attr( 'id' ), app.navi.pushPage( 'detail.html' ) );          
});

我尝试过的其他内容包括轮播,tabbar和普通的旧JQuery。

1 个答案:

答案 0 :(得分:0)

使用RouterNavigator

查看我的gist如何执行此操作