gpt4 book ai didi

ember.js - 从使用 Ember-data 检索的 RecordArray 中填充 Ember.Select View 的内容

转载 作者:行者123 更新时间:2023-12-04 20:13:44 24 4
gpt4 key购买 nike

我有一个使用以下代码创建的选择列表:

      {{view Ember.Select
contentBinding="App.riskCategories"
optionValuePath="content.id"
optionLabelPath="content.name"
selectionBinding="riskCategory"
class="input-medium"}}

riskCategory 是为模板加载的 App.Facility 模型的一个属性,App.RiskCategory 列表中填充了以下代码:
App.ready = function() {
App.riskCategories = App.RiskCategory.all()
}

这工作正常并填充选择列表,但仅使用已加载到浏览器中的风险类别子集。如果我从浏览器控制台调用 App.RiskCategory.find() ,则加载其余部分并更新选择列表,但是我无法让代码为我执行此操作。

所以我试过:
App.ready = function() {
App.riskCategories = App.RiskCategory.find()
}

或者:
App.ready = function() {
App.RiskCategory.find()
App.riskCategories = App.RiskCategory.all()
}

但是这两者都会导致以下错误:
Uncaught Error: Attempted to handle event `loadedData` on <App.Facility:ember417:1> while in state rootState.loaded.updated.uncommitted. Called with undefined

对于填充选择列表的更好方法的任何帮助或建议,我将不胜感激。这些 App.RiskCategory 对象应被视为存储在数据库中的常量的不可变集合。每个 App.Facility 对象都与这些 App.RiskCategories 之一相关联

谢谢!

最佳答案

尝试在您的 route 设置类别并通过 Controller 在您的模板中访问它

APP.YourRoute = Ember.Route.extend({
setupController:function(controller,model) {
this._super(controller,model);
controller.set('riskCategories',App.RiskCategory.find());
},

});

假设您的选择 View 与 Controller 在同一上下文中,您可以通过以下方式访问模板中的类别:
{{view Ember.Select
contentBinding="controller.riskCategories"
optionValuePath="content.id"
optionLabelPath="content.name"
selectionBinding="riskCategory"
class="input-medium"}}

关于ember.js - 从使用 Ember-data 检索的 RecordArray 中填充 Ember.Select View 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630037/

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