2013-06-12 82 views
1

我來到了一個奇怪的情況,使用Ember和把手。我有一張記錄表。用戶應該點擊任何記錄並將其重定向到項目詳細信息 - 相當通常的用例。把手linkTo呈現空鏈接

但是,Ember不能正確呈現鏈接。當我僅用linkTo標記包裝單個單詞或元素時它可以工作,但在包裝整個表格行時它不起作用。

{{#each item in controller.content}} 
    {{#linkTo "detail" item}} 
     <tr> 
      this is part of the link, correctly 
      <td>and this is not</td> 
      <td>{{item.someInfo}}</td> <!-- this neither --> 
     </tr> 
    {{/linkTo}} 
{{/each}} 

我怎麼能解決這個問題,當我想整個tr爲紐帶的工作?

+0

你應該在鏈接裏面的'td'而不是'tr> td'鏈接 – MilkyWayJoe

+0

我需要整行('tr',作爲一個塊元素)成爲一個鏈接的角色,而不是隻有個別'td'的文本字段。 –

+1

'linkTo'將總是呈現一個'a'元素,你想在這裏使用的是'action'助手。 – Thomas

回答

5

表中只能有<tr>字段,<tr>字段中只能有<td>字段。你試圖在表格行外添加一個ember標籤(和一個錨點),這不應該在表格中完成。

如果您想在點擊表格時完成某些操作,請將操作添加到該行中。像下面的東西應該工作。

<tr {{action 'details' on="click"}}> 

details意願,當然,在從那裏你可以轉換到你喜歡的地方相應的控制器的功能。

+0

謝謝你的答案。我試過了,它似乎工作。但是,我無法執行向被點擊的特定項目的詳細過渡。我如何執行「參數化」轉換? –

+2

看看[api](http://emberjs.com/api/classes/Ember.Controller.html#method_transitionToRoute)。讓我知道如果有什麼還不清楚。 – Gevious

+0

謝謝,我現在明白了:-) –