2015-08-13 60 views
0

如何顯示基於html按鈕的循環索引?如何基於{{each}}循環的索引顯示html按鈕?

您好 我有此模板:

<ul> 
    {{#each answers as |answer key|~}} 
     <li> 
      <label>Answer text: <input type="text" name="answer-definition-label[]" 
      value={{answer}}/></label> 
      <input type="radio"/> {{view.showDelete}} 
     </li> 
     {{~else~}} 
     <li> 
      <label>Answer text: <input type="text" name="answer-definition-label[]"/></label> 
      <input type="radio" checked/> 
     </li> 
     <li> 
      <label>Answer text: <input type="text" name="answer-definition-label[]"/></label> 
      <input type="radio"/> 
     </li> 
    {{~/each}} 
</ul> 
<button {{action "addAnswerRow"}} type="button">Dodaj</button> 

類的應用程序/視圖/形式/元件/ IX-可選擇-fields.js

import Ember from "ember"; 
var ShowDelete = Ember.Component.extend({ 
    template: Ember.HTMLBars.compile('<button style="color:red;">X</button>'), 
    init :function(){ 
     console.log(this); 
     console.log(arguments); 
    } 
}); 
export default Ember.View.extend({ 
    content : undefined, 
    template: function() { 
     if (this.get("content") instanceof Object) { 
      return this.get("content"); 
     } else { 
      return Ember.HTMLBars.compile('Please choose answer'); 
     } 
    }.property(), 
    showDelete : ShowDelete 
}); 

在{{每個}} { {else}}我想要顯示X以允許用戶刪除行(li's)。 當行從存儲區中出來時,我想讓刪除按鈕出現在鍵> 1處(對於鍵== 0和鍵== 1,沒有按鈕)。

我試過{{如果key> 1 '測試'}},但它會拋出 「生成錯誤」, 然後,我嘗試{{view.showDelete鍵}}但我得到 「未捕獲的錯誤:斷言失敗:一個幫手找不到名爲'view.showDelete'「。根據@潔尚德答案

分辨率爲灰燼,CLI(ember.js 1.12.1):

//app/helpers/boolean/ix-gt.js 
import Ember from "ember"; 
export default Ember.Handlebars.makeBoundHelper(function (a, b) { 
    return a > b; 
}); 

回答

1

創建傭工/ gt.js有:

export default (a, b) => a > b; 

然後在您的模板中:

{{#if (gt key 1)}} 
    {{view.showDelete}} 
{{/if}}