Я пытаюсь установить вложенные стеки в Spine.js.Spine.js - Как установить вложенные стеки
Хотя я скопировал код, который, похоже, работает для других (https://gist.github.com/MikeSilvis/2839845) и скорректировал имя модели контроллера &, он не работает. Оба стека отображаются совершенно правильно, ошибок в консоли тоже нет. Но - если я не полностью неправильно понимаю использование вложенных стеков - они не вложены в корневой стек. Есть ли что-то, что я должен добавить в представлениях?
index.coffee:
class App extends Spine.Controller
constructor: ->
super
new Spine.SubStack
Spine.Route.setup()
@append(@groups = new App.Groups)
@append(@people = new App.People)
class App.Root extends Spine.Stack
$.fn.item = ->
elementID = $(@).data('id')
elementID or= $(@).parents('[data-id]').data('id')
Person.find(elementID)
controllers:
groups: App.Groups
people: App.People
routes:
'/groups' : 'groups'
'/people' : 'people'
default: 'people'
className: 'stack root'
class Spine.SubStack extends Spine.Stack
constructor: ->
for key,value of @routes
console.log [key, value].join(" | ")
do (key,value) =>
@routes[key] = =>
@active()
@[value].active(arguments...)
super
window.App = App
в groups.coffee:
class App.Groups extends Spine.SubStack
controllers:
index: Index
edit: Edit
show: Show
new: New
routes:
'/groups/new': 'new'
'/groups/:id/edit': 'edit'
'/groups/:id': 'show'
'/groups': 'index'
default: 'index'
className: 'stack groups'
в people.coffee:
class App.People extends Spine.SubStack
controllers:
index: Index
edit: Edit
show: Show
new: New
routes:
'/people/new': 'new'
'/people/:id/edit': 'edit'
'/people/:id': 'show'
'/people': 'index'
default: 'index'
className: 'stack people'
Аль l маршруты по-прежнему работают после добавления этого кода, но нет корневого стека.
Надеюсь, кто-то, у кого больше опыта, чем я, может помочь мне в решении этой проблемы!