Вы не можете указать элемент на странице для ons-navigator

На устройстве Android я получаю эту ошибку при загрузке страницы onsenui. это связано с библиотекой JavaScript http://onsenui.io.

Вы не можете указать элемент «on-page» для «ons-navigator».


person enRaiser    schedule 29.08.2014    source источник
comment
Можете ли вы показать свой код?   -  person khemry    schedule 02.09.2014


Ответы (2)


Если ons-страницы не было, то ons-navigator не на что переходить :)

если вы не используете встроенную ons-страницу, убедитесь, что она загружает страницу:

<body ng-app ng-controller="MyCtrl">
    <ons-navigator var="myNavigator" page="mainPage.html">
    </ons-navigator>
</body>
</html>
person Vu Nguyen    schedule 18.09.2014

Поскольку ответ Ву Нгуена несколько правильный, но на самом деле он не объясняет другие сценарии, в которых это может произойти, я поделюсь своим решением по этому поводу. Для меня проблема возникла, когда я обновился до Onsen UI 1.3.0 с 1.1.4, и точка, где я получил эту ошибку, была на navigator.pushPage('page1.html'), где page1.html выглядел так:

<ons-template id="page1.html">
  <ons-sliding-menu
        menu-page="menu.html"
        main-page="browse.html"
        side="left">
  </ons-sliding-menu>
</ons-template>

Теперь пользовательский интерфейс Onsen не может найти on-page, в котором он по какой-то причине раньше не нуждался. Таким образом, решение состоит в том, чтобы обернуть ons-sliding-menu внутри ons-page следующим образом.

<ons-template id="page1.html">
  <ons-page>
    <ons-sliding-menu
        menu-page="menu.html"
        main-page="browse.html"
        side="left">
    </ons-sliding-menu>
  </ons-page>
</ons-template>
person Roope Hakulinen    schedule 27.04.2015
comment
Я не знаю, почему вы получили отрицательный голос, но ваш ответ решил мою проблему, и вы получили мой положительный голос, и спасибо! - person Adan Archila; 23.06.2015