Notice: The Monaca & Onsen UI Community Forum is shutting down.
For Onsen UI bug reports, feature requests and questions, please use the Onsen UI GitHub issues page. For help with Monaca, please contact Monaca Support Team.
Thank you to all our community for your contributions to the forum. We look forward to hearing from you in the new communication channels.
How to combine splitter with tabbar?
-
I am trying to make an interface that has both the splitter and also a persistent tabbar at the bottom to navigate to the 3 to 5 common sections. The
splitter
side menu will have a long list of all pages. Thetabbar
only has the top 3 to 5 pages for quick access convenience.So I tried to combine both the tabs and splitter sample project. The only dfference is in the index.html file.
I added the
page1.html
andpage2.html
in tabs project into the splitter project. The first page to be loaded remains ashome.html
as taken from the splitter project.<ons-splitter ng-controller="AppController as app" var="splitter"> <ons-splitter-side side="left" width="220px" collapse swipeable> <ons-page> <ons-list> <ons-list-item ng-click="app.load('home.html')" tappable> Home </ons-list-item> <ons-list-item ng-click="app.load('settings.html')" tappable> Settings </ons-list-item> <ons-list-item ng-click="app.load('about.html')" tappable> About </ons-list-item> <ons-list-item ng-click="app.load('page1.html')" tappable> Page 1 </ons-list-item> <ons-list-item ng-click="app.load('page2.html')" tappable> Page 2 </ons-list-item> </ons-list> </ons-page> </ons-splitter-side> <ons-splitter-content page="home.html"></ons-splitter-content> </ons-splitter>
Then for each page, I add in the
tabbar
after thetoolbar
similar to tabs project. For example, thehome.html
page is given as below.<ons-template id="home.html"> <ons-page ons-show="app.title = 'Home'"> <ons-toolbar> <div class="left"> <ons-toolbar-button ng-click="app.toggle()"> <ons-icon icon="md-menu"></ons-icon> </ons-toolbar-button> </div> <div class="center"> Main </div> </ons-toolbar> <ons-tabbar position="auto"> <ons-tab page="home.html" label="Home" icon="square" active></ons-tab> <ons-tab page="settings.html" label="Settings" icon="square"></ons-tab> <ons-tab page="about.html" label="About" icon="square"></ons-tab> <ons-tab page="page1.html" label="Page 1" icon="square"></ons-tab> <ons-tab page="page2.html" label="Page 2" icon="square"></ons-tab> </ons-tabbar> <div class="content" style="text-align: center"> <p>Home content</p> <p style="text-align: center; opacity: 0.6; padding-top: 20px;"> Swipe right to open the menu! </p> </div> </ons-page> </ons-template>
I duplicated the the tabbar for each page, and switching the active attribute accordingly. Not an elegant solution by repeating this block, but I try to follow as closely the tabs project as possible.
But when loaded into the Chrome browser, it sort of hang. The web browser never seems to finish initializing the web page and was sort of stuck in some infinite loop.
Once I comment out the
tabbar
block, it works fine again.- Has anyone tried combining
splitter
andtabbar
together before? - Is Onsen UI designed for this? I believe navigator can be combined with splitter or tabbar. But can we combine
splitter
andtabbar
? - Did I miss out anything?
Thanks.
- Has anyone tried combining