1

私は、いくつかの追加のライブラリ (シノン、セレン、チャイ、モカ) を備えたブランチ付きチャップリンス ボイラープレートを使用しています。ここで、モデルをビュー、正確にはコレクションビューから、編集のために別のコントローラーに渡したいと思います。

私はこれを次のように行うことができます:

Chaplin.utils.redirectTo 'editaddress', model:@model

しかし、これは私のURLを乱雑にします:

localhost:8080/editaddress?model=%5Bobject%20Object%5D

サーバーからモデルを再フェッチせずに、URLをきれいに保ち、モデル全体を他のコントローラーに渡すための受け入れ可能な方法を見つけることができないようです。

4

1 に答える 1

1

通常は chaplin のcomposerを使用しますが、これはビューを再利用するためだけのものです。

これを行うことができますが、スタックを使用します。

そこにスタックを作成して、application.coffeeコントローラーを変更しながらアイテムを保管できます。

# This is hidden from all other files so it is save, if you don't use any AMD,
# you should place this inside the application object.
stack = []    

module.exports = class Application extends Chaplin.Application

  ### Your program here ###

  start: ->

    # Other code here

    Mediator.setHandler 'push', @push
    Mediator.setHandler 'pop', @pop

  ###
  # Push to temporary storage stack.
  ###
  push: (item)->
    push item

  ###
  # Pop form temporary storage stack.
  ###
  pop: ->
    return stack.pop()

次のように、コードのどこからでもスタックにプッシュできるようになりました。

Mediator.execute 'push', @model

そして、使用できるものを取得するには:

Mediator.execute 'pop'
于 2014-10-24T09:07:52.087 に答える