0

基本的な Spine/coffeescript アプリがあり、他のアプリケーションの例を見て、設定したルートからパラメーターを取得しようとしています。基本的なスタックは次のとおりです。

class Main extends Spine.Stack
  el: "#main"

  controllers:
    sources: Sources

  default: 'sources'

  routes:
    '/sources/:id': 'sources'

ソースコントローラーは次のとおりです。

class Sources extends Spine.Controller
  el: '#something'

  constructor: ->
    super

  active: (params) ->
    super
    @id = params.id
    @refresh()
    @render()

ただし、paramsactive が呼び出されたときは未定義です。に移動してい/#/sources/soemthingます。スタック内の砂糖について私には理解できない何かがあるのか​​もしれませんが、私が見た例はこのように機能しているようです。何が欠けているのか誰にも教えてもらえますか?

4

1 に答える 1

2

そのため、/#/route/parameter に直接移動した場合でも、スタックは他のコントローラーのいずれかに切り替える前に、常にパラメーターなしでデフォルトのコントローラーを初期化するようです。何もしないデフォルトのコントローラーを追加すると、この問題はなくなりました。

class Main extends Spine.Stack
  el: "#main"

  controllers:
    home: Home
    sources: Sources

  default: 'home'

  routes:
    '/': 'home'
    '/sources/:zooniverse_id': 'sources'

PS SO で Spine のヘルプを得ようとしている場合は、そうしないでください。SpineJS Google グループに移動します: https://groups.google.com/forum/#!forum/spinejs

于 2012-09-12T20:42:05.973 に答える