The Splitter

A menu can be added using the <ons-splitter>.

This element has several customization options. For small devices it can be used to create a swipeable menu but it’s also possible to customize it in order to automatically display a column layout on devices with larger screens.

To use it you need to add the <ons-splitter-content> and <ons-splitter-side> elements as children. The <ons-splitter-content> contains the main content and the <ons-splitter-side> is used for the menu.

Main content

The main content is contained inside the <ons-splitter-content>. Every Splitter must contains exactly one <ons-splitter-content>.

There are two ways to define the initial HTML. One way is to put the page inside the element:


Using templates

Another way is to use the page attribute to load the content from an <template> element:

<template id="page.html">


  <ons-splitter-content page="page.html">

Loading pages dynamically

In order to change the content of the <ons-splitter-content> you can use the load(page, options) method:

// Switch to the Settings page.

Normally this method will be called when the user clicks on one of the items in the menu.

Side elements

The <ons-splitter-side> supports several attributes that control the behavior of the menu.

The swipeable attribute

This attribute must be defined to enable opening and closing the menu by swiping.

The collapse attribute

The menu supports two modes: “collapse” and “split” mode. When the menu is collapsed it will be hidden from view and only visible if the user swipes or the open() method is called.

In “split” mode the menu is displayed as a column on the side of the <ons-splitter-content> element.

The value of the collapse attribute defines when it should be in either mode conditionally. If you set the value to "portrait“ it will be collapsed when the device is in portrait mode. It also supports a media query.

You can try changing or removing the collapse attribute from the <ons-splitter-side> to see it in action.

The side attribute

This defines which side the menu is attached to. It supports the values "left" and "right". It’s possible to define one menu on each side of the screen.


名前 型 / デフォルト値 概要
var String このスプリッターコンポーネントを参照するための名前を指定します。 Optional. 初期化時のみ有効
ons-destroy Expression “destroy”イベントが発火された時の挙動を独自に指定できます。 Optional. 初期化時のみ有効
名前 概要
left Left <ons-splitter-side> element. (翻訳中)
right Right <ons-splitter-side> element. (翻訳中)
side First <ons-splitter-side> element regardless the actual side. (翻訳中)
content The <ons-splitter-content> element. (翻訳中)
onDeviceBackButton バックボタンハンドラ。
シグネチャ 概要
on(eventName, listener) イベントリスナーを追加します。
once(eventName, listener) 一度だけ呼び出されるイベントリスナーを追加します。
off(eventName, [listener]) イベントリスナーを削除します。もしイベントリスナーを指定しなかった場合には、そのイベントに紐づく全てのイベントリスナーが削除されます。
on(eventName, listener)


名前 概要
eventName String イベント名を指定します。
listener Function このイベントが発火された際に呼び出される関数オブジェクトを指定します。
once(eventName, listener)


名前 概要
eventName String イベント名を指定します。
listener Function イベントが発火した際に呼び出される関数オブジェクトを指定します。
off(eventName, [listener])


名前 概要
eventName String イベント名を指定します。
listener Function 削除するイベントリスナーを指定します。


Onsen UIに関する質問は、Stack Overflowにてonsen-uiタグを付与してください。Onsen UIチームはあなたの問題解決をお手伝いします。

バグ報告や機能要望については、GitHub Issuesに記載をお願いいたします。