Я пытаюсь получить состояния в приложении позвоночника. При щелчке элемент добавляется в список. Затем создается и перемещается URL-адрес, а затем выводится список. Однако, когда я использую функциональность браузера «назад», список не возвращается к предыдущему состоянию. Как заставить это работать?Spinejs routing не сохраняющее состояние
Это соответствующий код, я оставил то, что казалось нерелевантным, но если требуется больше, я предоставил его.
class App extends Spine.Controller
constructor: ->
super
@products = new Products
@filters = new Filters
Filter.bind 'filterAdded', => @navigateAfterFilterChange()
Filter.bind 'filterRemoved', => @navigateAfterFilterChange()
Spine.Route.setup(history: false)
renderAll: ->
@products.render()
@filters.render()
navigateAfterFilterChange: ->
Spine.Route.navigate(encodeURIComponent(JSON.stringify(_.map(Filter.active_filters, (filter) -> { t: filters.type, v: filters.value }))))
class Filter extends Spine.Model
listen: => #This is used to make the right list item listen to a click event
$("'a[data-cid=\"#{ @id }\"]'").one 'click', @triggerFilter
triggerFilter: (e) =>
e.preventDefault()
filter = Filter.find($(e.currentTarget).attr('data-cid'))
if @active
@active = false
Filter.active_filters = _.reject Filter.active_filters, (x) -> (x.type is filter.type and x.value is filter.value)
@save()
Filter.trigger 'filterRemoved', @
else
@active = true
Filter.active_filters.push filter
@save()
Filter.trigger 'filterAdded', @
class Filters extends Spine.Controller
constructor: ->
super
@utils = new GeneralScripts
@createFilters()
@listenForTypeActivation()
@routes
"": (params) ->
@render()
"*glob": (params) ->
@render()