Как сделать Framework7 маршрутизацию с помощью jQuery? - PullRequest
0 голосов
/ 25 апреля 2018

Я занимаюсь разработкой гибридного мобильного приложения с Framework7. Я успешно закончил пользовательский интерфейс и теперь хочу добавить функциональность в мое приложение. Моя проблема заключается в переходе от одного .html к другому. В пользовательском интерфейсе я сделал навигацию со ссылками, как это:

<a href="/homepage/" class="button button-fill button-login">LOGIN</a>

Из-за некоторых проверок я удалил весь href-тег и тут я подхожу к проблеме как мне сделать эту ссылку в jQuery ?

Я много пробовал, также следовал общедоступному «API маршрутизатора JavaScript» (https://v1.framework7.io/docs/router-api.html), но ничего не получалось (ПРИМЕЧАНИЕ: это не весь мой код, только уязвимые части):

  1. Попытка 1

    var myApp = new Framework7 ({}); var mainView = myApp.views.add ('. view-main');

    var app = { init: function () { events.doClickFunctions (); }, авторизоваться: { success: function () { // здесь должно быть сделано соединение mainView.router.load ( '/ Главная /'); } } };

Проблема: «myApp.views.add не является функцией»

  1. Попытка 2

var myApp = new Framework7 ({}); var mainView = myApp.addView ('. view-main');

var app = {

    init: function () {
        events.doClickFunctions();
    },
    login: {
        success: function () {
            //here should be the linking done
            mainView.router.load('/homepage/');
        }
    }
};

Проблема: «myApp.addView не является функцией»

И я попробовал другие комбинации, но ничего не получилось.

Более того, я сделал обходной путь: если проверки пройдены успешно, атрибут href будет добавлен с помощью jQuery и будет выполнен виртуальный щелчок по элементу. Итак, пользовательский опыт такой, как я хочу, но я думаю, это не так, как он должен работать?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 апреля 2019

попробуйте

        var app = new Framework7({
  id: 'io.framework7.testapp',
  precompileTemplates: true, //
  template7Pages: true,
  root: '#app',
  theme: theme,
  cache: false ,/* disable caching */
  data: function () {


  },
  methods: {
    helloWorld: function () {
      app.dialog.alert('Hello World!');
    },
  },
  routes: routes,
  vi: {
    placementId: 'pltd4o7ibb9rc653x14',
  }
});
app.views.main.router.navigate('/login/');

для маршрутизации на другую страницу в jq используйте это:

  app.views.main.router.navigate('/login/');

...