2

ビュー/レイアウトに関して簡単な質問があります。

@render 'viewName'動作するタワーボットをインストールしてセットアップしましたが、コントローラー内から呼び出すたびに (これには、実行によって生成されたコントローラーの例が含まれtower new appNameます) クライアントの template.js ファイルが生成されますが、その内容はレイアウトに挿入されません。

レイアウトでわかることから、ビューがハンドルバー トークンを置き換えることは理にかなっていますが、{{outlet}}そうすべき理由はわかりません。

私はドキュメントを精査しましたが、まだ書かれているので、私を助けることができる指示が欠けているようです.

私が見逃しているのは単純なものだと確信しています。

どんな助けでも大歓迎です。以下の関連コード。(デフォルト インストールのすべてのコード)

前もって感謝します。


アプリ/コントローラー/サーバー/applicationController.coffee:

class App.ApplicationController extends Tower.Controller
  @layout 'application'

  ...

  welcome: ->
    @render 'welcome', locals: {@bootstrapData}

  ...

アプリ/テンプレート/共有/レイアウト/_body.coffee_body.coffee:

...
section id: 'content', role: 'main', ->
  div class: 'container', ->
    text '{{outlet}}\n'
...

アプリ/テンプレート/共有/welcome.coffee:

h1 'Welcome to Tower.js'
4

1 に答える 1

1

towerjs のソースコードを掘り下げた後、@render関数がビューを「body」という名前に割り当てることがわかったので、そのビューを挿入するのは次のように簡単です。

アプリ/テンプレート/共有/レイアウト/_body.coffee_body.coffee:

...
section id: 'content', role: 'main', ->
  div class: 'container', ->
    yields 'body'
...

これが他の誰かに役立つことを願っています。

于 2012-11-09T00:17:02.410 に答える