Извинения за возможное плохо сформулированное название. Новое для магистрали.Магистральные маршруты и состояния просмотра
У меня возникли проблемы, обертывая мою голову тем, как бороться с маршрутами, связанными с видами. В основном у меня есть вид (назовем его ListView
), который, в зависимости от его viewMode
, отображает ItemViews
, используя различные шаблоны. Это выглядит примерно так:
var ListView = Backbone.View.extend({
// Cache a bunch of templates here
viewMode: 'list', // Default is list
render: function() {
switch(this.viewMode) {
case 'list':
// Render ItemView based on list template
break;
case 'gallery':
// Render ItemView based on gallery template
break;
}
// Render all items in list
this.collection.each(function(model, index) {
new ItemView(); // Maybe pass viewMode as a parameter
});
}
});
Моя цель состоит в том, что всякий раз, когда ListView
использует «список» viewMode
или «галерея», это должно быть отражено в адресной строке, а также ручного ввода или нажав на ссылку, которая ведет к например mysite.com/page.html#items/list или # items/gallery должны показывать те же результаты.
Есть ли способ автоматизировать этот процесс или каким-то другим способом решить его?
Как пользователь добраться до состояния, показывающий список/галерея и эту точку зрения без прохождения через маршрутизатор? – WiredPrairie
В настоящее время представление списка просто отображается в AppView. Я медленно прихожу к выводу, что это может быть нежелательно вообще. – jlowgren