1

オブジェクトへのリンクを生成するための次のコードがあり、それをレンダリングするテンプレートがありますが、リスト内の各アイテムで別のテンプレートを呼び出すか、別のアイテムを表示したいと考えています。これは可能ですか?

  <div class="main-content container"> 
            <div class="container-fluid">
              <div class="col-xs-3">
                <div class="span3">
                  <table class='table'>
                    <thead>
                      <tr><th><h3>Select Your Source</h3></th></tr>  
                        {{#each refRecord in model}}
                          <tr><td>  
                          {{#link-to 'ref' refRecord classNames="fullwidth"}}{{refRecord.type}}{{/link-to}}
                          </td></tr>    
                        {{/each}}
                  </table>
                </div>
              </div>
                <div class="col-xs-9">
                  {{outlet}}
                </div>      
            </div>
        </div>
4

1 に答える 1

0

正しく理解できたかどうかわかりませんが、あなたの質問を 2 つの方法で受け取りました。別のテンプレートにリンクするか、リスト内の各項目を異なるものにするかです。

別のテンプレートへのリンク

リンク先ステートメントで文字列の代わりにプロパティを使用して、動的リンク先を作成できます。

<ul>
  {{#each item in model}}
    <li>{{#link-to item.template item}}{{item.color}}{{/link-to}}</li>
  {{/each}}
</ul>

http://emberjs.jsbin.com/xarixiyu/1/edit

各アイテムを別々にレンダリングする

renderプロパティを取得して名前を動的に解決することができないため、これは少し異なります。ただし、if ステートメントを使用して、さまざまなアイテムを異なる方法でレンダリングすることはできます。

{{#each item in model}}
  <li>
    {{#if item.foo}}
      {{render 'foo' item}}
    {{/if}}
    {{#if item.bar}}
      {{render 'bar' item}}
    {{/if}}
  </li>
{{/each}}

http://emberjs.jsbin.com/xarixiyu/2/edit

于 2014-05-29T15:33:26.423 に答える