gpt4 book ai didi

ember.js - bool 属性的 `Ember.Select` 返回空对象 `{}`

转载 作者:行者123 更新时间:2023-12-02 05:59:56 25 4
gpt4 key购买 nike

我正在尝试在模型的 bool 属性上使用 Ember.Select。问题是它将我的属性转换为对象 {} 并且没有发生绑定(bind)。

我的模型有一个 isActive 标志

isActive: DS.attr('boolean'),

这是我模板中的 ember 选择
            {{view Ember.Select
viewName="isActive"
content=controller.yesNo
optionLabelPath="content.key"
optionValuePath="content.value"
selection=model.isActive
class="form-control"
disabled=true}}

在我的路由器中,我在 Controller 上设置了 yesNo 数组(顺便说一句,我不确定这是否是执行此操作的正确位置,这很简单,但我的一些选择需要使用 this.store.find('accounts') 查询数据库,所以我认为这些进入路线而不是 Controller )。
setupController: function(controller, model) {
this._super(controller, model);

controller.set('yesNo', [
{key : 'Yes', value : true},
{key : 'No', value : false}
]);
}

我也尝试将 bool 值作为字符串传递,但它不起作用。
    controller.set('yesNo', [
{key : 'Yes', value : 'true'},
{key : 'No', value : 'false'}
]);

更新

从 ember 检查器中,当我选择一个项目时,它会返回整个对象 { key: Yes, value: true }{ key: No, value: false } .我不希望它只返回 value 属性。

最佳答案

selection绑定(bind)整个对象。 value将只绑定(bind) optionValuePath 中指定的属性到您指定的属性。因此,使用 value而不是 selection如果您只想将绑定(bind)属性设为 bool 值。因此,在模板中选择的 Handlebars 中使用:

{{view Em.Select
// Properties...
// More properties...
value=isActive
}}

边注:

您无需指定 controllercontent=controller.yesNo .你可以说 content=yesNo .

关于ember.js - bool 属性的 `Ember.Select` 返回空对象 `{}`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24644606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com