簡體   English   中英

綁定attr手把助手ember.js與特定值檢查

[英]Bind attr handlebars helper ember.js with a specific value check

因此,我基本上需要從選擇框中選擇一個特定的值。

所以我想知道如何使{{bind-attr}}表現如下:

        <select id="research_status" class="form-control">
            <option value=""></option>
            <option value="finalized" {{bind-attr selected a_variable="finalized"}}>Finalized</option>
            <option value="in progress" {{bind-attr selected a_variable="in progress"}}>In progress</option>
        </select>

我在文檔中找不到這個(雖然我沒有對此進行過多研究)。 但是,如果還有另一種方法可以使工作更簡單或更容易,請告訴我。

我不想做這樣的事情

        <select id="research_status" class="form-control">
            <option value=""></option>
            <option value="finalized" {{bind-attr selected=isFinalized}}>Finalized</option>
            <option value="in progress" {{bind-attr selected=isInProgress}}>In progress</option>
        </select>

我知道我們可以這樣做,但是我不想四處創建不必要的變量。

我正在從模型中檢索此數據,因此最好檢查該模型字段的值,然后在選擇框中選擇該特定字段(如我的第一段代碼所示)。

編輯:我忘記了Handlebars助手如何處理屬性。 所以我以前的答案行不通。 但是bind-attr助手沒有提供這種功能,在可能不容易修改的地方可能足夠不同。 我相信最好的選擇是僅使用自定義語法重新創建bind-attr幫助器。 您可以在此處找到該代碼。

同樣,我認為您最好聲明一個控制器屬性。 每個屬性只需要一行:

App.MyController = Ember.Controller.extend({
    isFinalized: Ember.computed.equal('model.state', 'finalized'),
    isInProgress: Ember.computed.equal('model.state', 'in progress')
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM