繁体   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