Ember.js 在ember js中级联选择数据绑定
我有以下下拉列表,并有如下要求: level2独立加载, 但是level3将基于level2加载, 级别4是基于级别3的加载 我是余烬js的新手,请帮助我正确的常规方法是什么。Ember.js 在ember js中级联选择数据绑定,ember.js,ember-data,Ember.js,Ember Data,我有以下下拉列表,并有如下要求: level2独立加载, 但是level3将基于level2加载, 级别4是基于级别3的加载 我是余烬js的新手,请帮助我正确的常规方法是什么。 (很抱歉英文不好)您应该使用DS.promiseArrays来创建异步计算属性。我写了一些基本的伪代码。基本上data1是在route中加载的(例如模型钩子)。数据2取决于数据1的选择。当它被选中时,将触发一个异步调用并检索select2的数据。接下来是troughout的过程 哈佛商学院 哈佛商学院 {{#如果选择3
(很抱歉英文不好)您应该使用DS.promiseArrays来创建异步计算属性。我写了一些基本的伪代码。基本上data1是在route中加载的(例如模型钩子)。数据2取决于数据1的选择。当它被选中时,将触发一个异步调用并检索select2的数据。接下来是troughout的过程 哈佛商学院 哈佛商学院
{{#如果选择3data.length}
{{选择
data=selectData3<这是基于selection2
选择=数据3}
{{/if}
你成功了吗?你为什么问问题而不留下反馈呢?我一直在努力寻找其他方法,直到发现这是最好的方法。
{{select
data=selectData1 < This is preloaded
selection=data1}}
select2Data: function() {
return DS.PromiseArray.create({
promise: store.query('x/y', { c : data1.get('id') }) < this should resolve to array
})
}.property('data1')
{{#if select2Data.length}}
{{select
data=selectData2 < This is based on selection1
selection=data2}}
{{/if}}
select3Data: function() {
return DS.PromiseArray.create({
promise: store.query('x/y', { c : data2.get('id') })
})
}.property('data2')
{{#if select3Data.length}}
{{select
data=selectData3 < This is based on selection2
selection=data3}}
{{/if}}