Событие инициализации страницы framework7 не срабатывает

1

Я пытаюсь использовать framework7 и не могу запустить событие init. Код, который я использую, очень прост, и я внимательно следил за документацией. Независимо от того, что я делаю, он никогда не срабатывает (ничто не записывается на консоль и никаких ошибок).

Я создал ручку, показывающую проблему.

Я также попробовал его с помощью callback myApp.onPageInit. Нада.

Любая помощь была высоко оценена.

Код JS

var myApp = new Framework7({});
var $ = Dom7;
var mainView = myApp.addView('.view-main', {
    dynamicNavbar: true
});
$(document).on('page:init', function (e) {
    alert("processing page init");
});

HTML

<div class="views">
  <div class="view view-main navbar-through toolbar-through">
    <div class="navbar">
      <div class="navbar-inner">
        <div class="center">Framework7</div>        
      </div>
    </div>
    <div class="toolbar">
      <div class="toolbar-inner">
        <a href="#" class="link">Left</a>
        <a href="#" class="link">Right</a>
      </div>
    </div>
    <div class="pages">
      <div class="page" data-page="home">
        <div class="page-content">
          <div class="content-block">
            <p>Hi there!</p>            
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
Теги:
cordova
phonegap
framework7
html-framework-7

3 ответа

2
Лучший ответ

Это может быть разрешено приложением init вручную (иногда событие не запускается, когда содержимое находится в первом загруженном файле)

Или попробуйте вызвать обратный вызов вашей домашней страницы (третья точка ссылки)

  • 0
    Спасибо, пропустил это, здорово, что это решено.
4

@SuperDuperApps, мне удалось запустить код. Очень похоже на то, что предложил Джигги, если вы задерживаете init, он работает для меня (см. Ниже). Но если вы не хотите, чтобы его вызывали на первой странице и только на последующих страницах, тогда у кода u есть работы. Просто попробуйте добавить ссылку (to about.html), аналогичную тому, что находится в документах, и она работает

var myApp = new Framework7({
    init: false
});
var $ = Dom7;
var mainView = myApp.addView('.view-main', {
    dynamicNavbar: true
});
$(document).on('page:init', function (e) {
    alert("processing page init");
});
myApp.init()

Примечание: PageInit не вызывается обратно.

  • 0
    Спасибо за дополнительную информацию, здорово, что это решено.
  • 0
    спасибо, это работает и для меня :)
0

Это изменилось с версии 3. Теперь сделать то же самое можно, выполнив это:

var myApp = new Framework7({
    ...
    init: false
});

myApp.on('init', function(e) {
    alert('app init event fired');
});

myApp.init();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню