framework7io / framework7

Full featured HTML framework for building iOS & Android apps
http://framework7.io
MIT License
18.13k stars 3.23k forks source link

Повторное создание страницы (onPageInit etc) #948

Closed AnotherAnkor closed 8 years ago

AnotherAnkor commented 8 years ago

Привет! У меня следующая проблема. Я пытаюсь использовать яндекс карты вместе с f7. Здесь я создаю ссылку на страницу с картой. `

  • Карта
  • ` Здесь я объявляю страницу с картой: `` Далее методы для добавления карты. `var mainView = myApp.addView('.view-main',{'dynamicNavbar':'true'}); myApp.onPageInit('map', function(page) { // создание объекта карты console.log('map page init!'); loadMap(); }); function loadMap() { if (!myMap) { ymaps.ready(function() { console.log('x= ', x); console.log('y= ', x); myMap = new ymaps.Map("map", { center: [x,y], zoom: 15}, { searchControlProvider: "yandex#search" }); firstCenter = myMap.getCenter(); console.log('myPlacemark = ', myPlacemark); }); if (!alreadyWatch) { watchLocation(); }; } else {myMap.container.fitToViewport()}; };` Как здесь можно видеть, в последней строке я просто пытался перерисовать карту. После нескольких простых тестов, я выяснил, что карта никуда не девалась и с нею можно взаимодействовать. Проблема только в том, что по какой-то причине страница с картой перегенерируется всякий раз при её открытии. Но если я буду на странице с картой, а затем перейду на любую другую и нажму кнопку назад, то она будет на своём месте. Если вместо кнопки назад я нажму в меню ссылку на страницу карты, она будет пересоздана и отображена вместо прежней страницы. Что я должен сделать, чтобы отображение карты не исчезало?
    AnotherAnkor commented 8 years ago

    Если делать так, как было подсказано на форуме /* myApp.onPageInit('map', function(page) { // создание объекта карты console.log('map page init!'); loadMap(); }); */ loadMap(); то карта будет создана, но не будет показана на странице и не будут работать написанные мною методы. Я не нашёл метода, который бы один раз инициализировал страницу. А как выполнить присвоение я не знаю. В доках тоже не нашёл. Подскажите пожалуйста, как быть в этом случае?

    AnotherAnkor commented 8 years ago

    https://github.com/AnotherAnkor/to_test

    lock[bot] commented 6 years ago

    This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.