View

リンクをクリックすると、 各イベントを呼び出される順番に表示します。


結果:
HTML
1.html
<div id="barba-wrapper">
  <div class="barba-container" data-namespace="homepage">
    <p>ページ1</p>
    <p>
      <a href="./2.html">ページ2を表示</a>
    </p>
  </div>
</div>
2.html
<div id="barba-wrapper">
  <div class="barba-container" data-namespace="homepage">
    <p>ページ2</p>
    <p>
      <a href="./1.html">ページ1を表示</a>
    </p>
  </div>
</div>
結果ブロック
<div><span>結果:</span><span id="result"></span></div>
JavaScript
Barba.Pjax.start();
var Homepage = Barba.BaseView.extend({
  namespace: 'homepage',
  onEnter: function() {
    // 新しいコンテナは準備が出来たタイミング。DOMに含まれています。
    div = document.createElement('div');
    div.textContent = 'onEnter : homepage';
    document.getElementById('result').appendChild(div);
  },
  onEnterCompleted: function() {
    // ページ遷移が終了したタイミング。
    div = document.createElement('div');
    div.textContent = 'onEnterComplete: homepage';
    document.getElementById('result').appendChild(div);
  },
  onLeave: function() {
    // 新しいページへの遷移が開始されたタイミング。
    div = document.createElement('div');
    div.textContent = 'onLeave: homepage';
    document.getElementById('result').appendChild(div);
  },
  onLeaveCompleted: function() {
    // コンテナがDOMから削除されたタイミング。
    div = document.createElement('div');
    div.textContent = 'onLeaveCompleted: homepage';
    document.getElementById('result').appendChild(div);
  }
});

// viewの初期化を忘れないで!
Homepage.init();