Как реализовать переход на новую страницу в Backbone? Накопилась парочка вопросов.
Есть приложение которое в случае успеха должно перевести юзера на новую страницу (используя роут)
Как сделать переход по нажатию кнопки?
Можно ли что бы все что есть на странице убиралось и вставлялся новый шаблон из новой вьюхи?
И как если можно ?
Ну то есть как будто это две разные страницы?

21 Авг 2019 в 07:09
138 +1
0
Ответы
1

Для реализации перехода на новую страницу в Backbone можно воспользоваться роутером. Вам нужно определить маршрут и соответствующий ему метод, который будет отображать новую страницу. Например:

var Router = Backbone.Router.extend({
routes: {
"newPage": "showNewPage"
},
showNewPage: function() {
// Отобразить новую страницу
}
});
var router = new Router();
Backbone.history.start();

Для перехода по нажатию кнопки, можно привязать обработчик события к кнопке, который будет вызывать метод перехода на новую страницу:

var NewPageView = Backbone.View.extend({
events: {
"click #btn": "goToNewPage"
},
goToNewPage: function() {
router.navigate("newPage", {trigger: true});
}
});

Чтобы заменить содержимое текущей страницы новым шаблоном из новой вьюхи, можно использовать метод setElement() во вьюхе. Например:

showNewPage: function() {
var newPageView = new NewPageView();
this.$el.empty().append(newPageView.render().$el);
}

Таким образом, при переходе на новую страницу все содержимое текущей страницы будет заменено новым шаблоном из новой вьюхи, создавая впечатление двух разных страниц.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир