7

Ember.js テンプレートのガイドを読んでいます。上記のリンクの最初の例のハンドルバー部分で、彼らは使用しました

{{#linkTo posts.post post}}

しかし、私は思った

{{#linkTo posts.post}}

動作します。

2 番目の引数「post」が必要なのはなぜですか?

私は説明を読みました:

ルートに動的セグメントがある場合は、セグメントを表すモデル。デフォルトでは、Ember.js はセグメントをオブジェクトの id プロパティの値に置き換えます。

しかし、この説明を上記の質問と関連付けることはできません。

4

4 に答える 4

11

#linkToヘルパーは 3 つのパラメーターを取ります。

  1. あなたの場合、ルートposts.post
  2. コンテキスト。ここではpost、ループ内で参照している特定のオブジェクトです
  3. オプション ハッシュ (現在titleサポートされています)

ルートは動的ルートであるためposts.post、たとえば、投稿のコレクションの 1 つに使用できるため、#linkToリンクしたい特定の投稿のヘルパーを提供する必要があります。

于 2013-01-22T08:14:29.880 に答える
4

Ember の #link-to ヘルパーに渡される引数に関して他の人が言ったことは正確です。詳細情報を探している人のためのドキュメントへのリンクです。

リンク先のルート名があり、2 番目の引数はモデル コンテキストを提供しています。

詳細は次のとおりです。

http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_link-to

于 2013-09-30T21:29:08.410 に答える
0

私にとって、以下のコードは正常に動作します:

  {{#each model as |book|}}
      <h3>{{#link-to 'book' book}}{{book.title}}{{/link-to}}</h3>
  {{/each}}
于 2015-07-19T23:30:58.580 に答える