Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 在ember js中级联选择数据绑定_Ember.js_Ember Data - Fatal编程技术网

Ember.js 在ember 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

我有以下下拉列表,并有如下要求: level2独立加载, 但是level3将基于level2加载, 级别4是基于级别3的加载

我是余烬js的新手,请帮助我正确的常规方法是什么。
(很抱歉英文不好)

您应该使用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}}