Я только начинаю с Framework7 и хочу перейти на другую страницу, щелкнув абзац. Я попробовал несколько вещей и погуглил в течение последнего часа, но безуспешно.
Вот код, который у меня есть в my-app.js:
var $$ = Dom7;
var app = new Framework7({
// App root element
root: '#app',
// App Name
name: 'My App',
// App id
id: 'com.myapp.test',
// Enable swipe panel
panel: {
swipe: 'left',
},
view : {
stackPages: true
},
// Add default routes
routes: [
{
name: 'about',
path: '/about/',
url: 'about.html',
},
{
name: 'index',
path: '/index/',
url: 'index.html'
},
{
name: 'preview',
path: '/preview/',
url: './preview.html'
},
],
// ... other parameters
});
var mainView = app.views.create('.view-main');
$$('p').on('click', function(){
mainView.router.navigate('/preview/');
});
Когда я щелкаю абзац, ничего не происходит и при запуске инспектора ошибок нет. Что я делаю неправильно? Спасибо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете сделать это с помощью этого:
self.app.router.navigate('/preview/', {reloadCurrent: true});
Также убедитесь, что HTML-макет выглядит следующим образом:
<div class = "view">
<!-- Initial Page, "data-name" contains page name -->
<div data-name = "preview" class = "page">
<!-- Scrollable page content -->
<div class = "page-content">
preview page content
</div>
</div>
</div>
Обновление 1: в F7 версии 4 вы можете использовать это:
app.views.main.router.navigate('/login/', {reloadCurrent: true});
Приятный визгливый Дэйв, добро пожаловать в любое время: D
app.mainView.router.navigate('/preview/')
Попробуйте это, если ответ @Anis предложил, но он должен работать с этим ответом
Он должен работать с использованием: app.router.navigate('/preview/')
Большое спасибо! Сначала у меня была ошибка перекрестного происхождения, но теперь я запускаю простой сервер и он работает! Ваше здоровье!