Ember.Select 使用 belongsTo Ember 数据模型属性的默认选择值?
Posted
技术标签:
【中文标题】Ember.Select 使用 belongsTo Ember 数据模型属性的默认选择值?【英文标题】:Default selected value for Ember.Select using belongsTo Ember Data model property? 【发布时间】:2014-04-25 01:53:39 【问题描述】:我正在尝试做的似乎是 Ember.Select 的一个非常常见的用例,但我还没有找到解决方案。
我正在尝试使用 belongsTo Ember Data 属性设置 Ember.Select 的默认值。我的模板中有以下 Ember.Select 视图:
view Ember.Select content=neighborhoodOptions value=neighborhood.id optionValuePath="content.value" optionLabelPath="content.label"
这个视图的控制器看起来像:
App.PropertyEditController = Ember.ObjectController.extend(
neighborhoodOptions: [value: 1, label: 'Foo', value: 2, label: 'Bar']
);
我正在使用 Ember Data 并且有一个模型,该模型具有该控制器的 belongsTo 属性,如下所示:
var attr = DS.attr;
App.Property = DS.Model.extend(
neighborhood: DS.belongsTo('neighborhood')
);
但是,这不会在页面加载时设置任何默认选项。更糟糕的是,当我在 Ember Inspector 控制台中查看邻域模型时,它会使邻域.id 未定义。如果我从视图中删除 value 属性,则会再次定义 neighbor.id,因此 Ember.Select 值属性行为似乎将 id 设置为未定义。我不明白它为什么这样做。
如何绑定邻居 id 属性并使其成为默认的 Ember.Select 选项?
【问题讨论】:
emberjs 文档中明确提到。请浏览文档emberjs.com/api/classes/… 感谢您的回复,但我已经查看了文档,但在这种情况下没有帮助。我认为暂时最好的办法就是使用 selection 属性,因为 value 属性似乎有问题。 嘿,你能把你的代码放在 jsbin 中吗?可能会有更多帮助 【参考方案1】:试试:
selection=neighborhood
而不是value
。这样它将绑定到该模型实例,而不仅仅是 id 值。
【讨论】:
以上是关于Ember.Select 使用 belongsTo Ember 数据模型属性的默认选择值?的主要内容,如果未能解决你的问题,请参考以下文章
我应该在 Laravel 中使用 belongsTo 还是 hasOne?
Sequelize ORM中HasOne和BelongsTo的区别