2013-04-13 2 views
1

Я пытаюсь получить состояния в приложении позвоночника. При щелчке элемент добавляется в список. Затем создается и перемещается 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() 

ответ

0

Не уверен, но похоже, что Вы, возможно, потребуется отправить PARAMS с визуализации()

class Filters extends Spine.Controller 
    constructor: -> 
    super 
    @utils = new GeneralScripts 
    @createFilters() 
    @listenForTypeActivation() 
    @routes 
     "": (params) -> 
     @render(params) 
     "*glob": (params) -> 
     @render(params) 

вам также необходимо будет обрабатывать Params в визуализации методом конечно

Смежные вопросы