2016-05-16 3 views
0

私は15枚の写真を含むページを持っていて、そのうちの1つがクリックされた場合、ユーザーを詳細ページにリダイレクトする必要があります。だから、私は1,2,3、... 15のような15の異なるルートを持っています。しかし、私が知っているように、私は#リンクをヘルパーに動的変数を与えることはできません。だから私はどのようにすべての写真を自分のルートに行くつもりですか?これは私のインデックスページ.hbsがどのように見えるかです:リンクに異なるルートを与えるemberJs

{{#each model as |rentalUnit|}} 
    {{rental-listing rental=rentalUnit}} 
{{/each}} 
{{outlet}} 

これは私がすべての画像をプリントする方法です。そして、これはどうやって経路に行くのですか:

{{#link-to "???"}}<img src={{rental.image}} width="200">{{/link-to}} 

そうです、ありますか?何をすべきかわからないからです。ありがとう!

答えて

1

まずは、ルートで動的セグメントを使用しないのはなぜですか?このように:

this.route('image', {path: '/images/:id'}); 

しかし、あなただけの変数を渡すことによって行うことができますしたいことは、リンクのない文字列が最初の引数としてヘルパーすることは:

{{#link-to target}} 

どこ{{対象}}印刷しあなたのルート名。だからtargetは変数で、文字列ではありません。

チェックアウトthis twiddle

+0

こんにちは、ありがとう。私はちょうどそれが回転の上で行うことを試みたが、結果として私のインデックスページは空白になる。ですから、 'this.route(' image '、{path:'/images /:id '});'を使用する方法についてもっと教えてください。 ??ルート1,2,3,4 ... 5のコードをすべて保存し、それを追加したり削除したりしますか?私は "イメージ"ルートを作成する必要がありますか?私がこのように使うと#リンク先の後に何を書きますか?申し訳ありませんが、この問題は2日間私を気にしています。 – hbc

+0

@HandeBcあなたは[ガイド](https://guides.emberjs.com/v2.5.0/routing/specifying-a-routes-model/#toc_dynamic-models)を読んでいますか?ダイナミックセグメントでは、テンプレートを使用するルートが1つあり、異なるデータを使用するだけです。リンク先は[api documentation](http://emberjs.com/api/classes/Ember.Templates.helpers.html#toc_supplying-a-model)で呼び出すことができます。また、他のものが動作していない場合は、動作していないコードを提供するか、よりうまく動くか、私たちはあなたを助けません。 – Lux

+0

はいドキュメントを読みましたが、それはちょっと複雑です。しかし、私は彼らと一緒に苦労しています。さて、これは私の小さなプロジェクトのうねりですhttps://ember-twiddle.com/b35b0befae27976ada4c8f66ea2e3149?openFiles=router.js%2C今、すべての画像はクリックすると/ 1パスに移動します。 – hbc

関連する問題