首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spine.js -如何设置嵌套堆栈

Spine.js -如何设置嵌套堆栈
EN

Stack Overflow用户
提问于 2013-06-07 10:27:48
回答 1查看 137关注 0票数 1

我正在尝试在Spine.js中设置嵌套堆栈。

虽然我复制粘贴了似乎适用于其他人(https://gist.github.com/MikeSilvis/2839845)的代码,并调整了控制器和模型的名称,但它不起作用。的两个堆栈都显示得非常正确,,控制台中也没有错误。但是--如果我没有完全理解嵌套堆栈的用法--它们不是嵌套在根堆栈中的。在视图中有什么需要我补充的吗?

index.coffee:

代码语言:javascript
运行
复制
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

in groups.coffee:

代码语言:javascript
运行
复制
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'

in people.coffee:

代码语言:javascript
运行
复制
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'

添加此代码后,所有路由仍在工作,但没有根堆栈。

希望有一个比我更有经验的人能帮我解决这个问题!

EN

回答 1

Stack Overflow用户

发布于 2013-11-23 18:16:50

没有做太多的研究,你似乎应该在某个地方拥有一个new App.Rootextends App.Root。这可以解释为什么您的路由工作,但没有根堆栈。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16981940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档