2016-05-16 55 views
0

我有一個網頁,包括15張圖片,我必須重定向用戶到詳細信息頁面,如果其中一個被點擊。所以,我有15種不同的路線,如1,2,3,... 15。但據我所知,我不能給#link-to helper的動態變量。那麼,我怎麼會讓每一張照片都走向自己的路線呢?這是我的索引頁.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代碼,並添加或刪除其他代碼嗎?我應該創建「圖像」路線嗎?如果我使用這種方式,我應該在#鏈接之後寫什麼?很抱歉有很多問題,現在這個問題困擾了我兩天。 – hbc

+0

@HandeBc你讀過[指南](https://guides.emberjs.com/v2.5.0/routing/specifying-a-routes-model/#toc_dynamic-models)嗎?使用動態細分時,您只需使用一個模板並使用不同的數據。鏈接可以[在api文檔]中調用(http://emberjs.com/api/classes/Ember.Templates.helpers.html#toc_supplying-a-model)。此外,如果其他事情不起作用,請提供非工作代碼或更好的旋轉,否則我們無法幫助您。 – Lux

+0

是的,我閱讀了文檔,但它有點複雜。但我正在努力與他們。那麼,這是我的小項目twiddle https://ember-twiddle.com/b35b0befae27976ada4c8f66ea2e3149?openFiles=router.js%2C現在,每個圖片都轉到/ 1路徑點擊。 – hbc