События ons-splitter на стороне пользовательского интерфейса Onsen не работают

Я пытаюсь получить postopen а также postclose события работают, но мне, кажется, не повезло.

Я следую инструкциям здесь:

https://onsen.io/v2/docs/angular1/ons-splitter-side.html

Итак, суть моего кода такова:

<ons-splitter var="mySplitter" ng-controller="SplitterController as splitter">
  <ons-splitter-side ons-postopen="ons.notification.alert(1);" side="left" width="220px" collapse swipeable>
    <ons-page>
      left
    </ons-page>
  </ons-splitter-side>
  <ons-splitter-content page="home.html"></ons-splitter-content>
</ons-splitter>

<ons-template id="home.html">
  <ons-page>
    <ons-toolbar>
      <div class="left">
        <ons-toolbar-button ng-click="mySplitter.left.open()">
          <ons-icon icon="md-menu"></ons-icon>
        </ons-toolbar-button>
      </div>
      <div class="center">
        Main
      </div>
    </ons-toolbar>
  </ons-page>
</ons-template>

Но в результате ничего не происходит, как будто не было ons-postopen приписывать.

1 ответ

Решение

Хотя у меня нет хорошего ответа о том, как использовать эти события во время инициализации, вы можете получить к ним доступ, используя прослушиватели событий, такие как:

document.getElementById('menu').addEventListener('preopen',function(e){
  console.log('preopen event');
});

Это демонстрируется в этом коде ручки: https://codepen.io/anon/pen/rWNvXL?editors=1011

Другие вопросы по тегам