Как я могу перейти на другую страницу (экспорт переменных) в Framework7?

Я разрабатываю веб-приложение с Framework7. Я бы хотел перейти на другую страницу, нажав на ссылку, экспортируя переменную.

В index.php у меня есть это:

<head>
    <script type="text/javascript">
        function myFunc(xyz) {
            localStorage.setItem("variable", xyz);
        } 
    </script>
</head>

<body>
<?php
    foreach( [...] ) {

        [...] // something not important

        print('
            <a onclick="myFunc('.$myVar.')" href="anotherPage.php">'.$myVar.'</a>
        ');

    }
?>
</body>

В anotherPage.php у меня есть это:

<p id="example"></p>

<script>
    document.getElementById("example").innerHTML = localStorage.getItem("variable");
</script>

Я не знаю, почему это не работает... Вы можете мне помочь?

PS: я обнаружил, что это может быть полезно: Ajax pages | Framework7

Спасибо вам большое!

1 ответ

F7 - это фреймворк SPA, он загружает новую страницу без JS. Вы должны добавить обратный вызов pageInit в ваш index.php

<a href="anotherPage.php?variable=xyz"/>
<script type="text/javascript">
    myApp.onPageInit('another-page', function (page) {
       // here is the variable
       console.log(page.query.variable);
    });
</script>

anotherPage.php должен быть отформатирован так

<div class="navbar">

</div>

<div class="page" data-page="another-page">
  ...
</div>

Есть еще один способ передать переменную по объекту запроса. https://framework7.io/docs/router-api.html

mainView.router.load({
  url: "anotherPage.php",
  query: {
    variable: 'xyz',
    ... 
  }
});
Другие вопросы по тегам