Ember.js Ember.data 1.13 JSONAPI属于异步传递到组件
我使用JSONAPI作为适配器 型号:Ember.js Ember.data 1.13 JSONAPI属于异步传递到组件,ember.js,ember-data,Ember.js,Ember Data,我使用JSONAPI作为适配器 型号: App.Report = DS.Model.extend({ 'name': DS.attr('string'), 'description': DS.attr(), 'placemark': DS.belongsTo('placemark', { 'async': true }) }); App.Placemark = DS.Model.exte
App.Report = DS.Model.extend({
'name': DS.attr('string'),
'description': DS.attr(),
'placemark': DS.belongsTo('placemark', {
'async': true
})
});
App.Placemark = DS.Model.extend({
'geometry': DS.attr(),
'description': DS.attr(),
'reports': DS.hasMany('report', {
'async': true
})
});
路线:
App.ReportRoute = Ember.Route.extend({
'model': function (params) {
return this.store.find('report', params.report_id);
},
'renderTemplate': function () {
this.render('report', {
'into': 'application'
});
}
});
App.PlacemarkRoute = Ember.Route.extend({
'model': function (params) {
return this.store.find('placemark', params.element_id);
},
'renderTemplate': function () {
this.render('placemark', {
'into': 'application'
});
}
});
我使用一个组件嵌入地图画布,其中数据(placemark)来自报告:
{{map-canvas placemark=model.placemark}}
App.MapCanvasComponent = Ember.Component.extend({
'availablePlacemark': Ember.computed('placemark', function() {
return this.get('placemark.geometry');
});
我发现placemark无法检索,返回了“未定义”
我尝试使用:
return this.get('placemark').then(function(placemark) {
return placemark.get('geometry');
});
它不起作用
现在,我在考虑从视图到组件是JSONAPI适配器问题还是异步问题
我正在使用余烬1.13
希望有人能帮忙
谢谢为什么要将所有挂钩和属性包装为字符串?我只是从来没见过有人用过这种款式……你能让我这么粘吗?我不知道,placemark模型没有加载到组件中,这可能是异步问题。但我确实尝试过使用它,如果您还没有,我会安装Ember Inspector()并检查您的模型是否正确加载。嗨,nic,placemark已加载,似乎已被传播。如果您对该问题有一个jsbin,可能会更容易提供帮助。此外,我刚才的意思是,您可以编写:
model:function(){…
而不是字符串。是否有理由将所有钩子和属性包装为字符串?我以前从未见过有人使用这种样式。你能让我这么粘吗?我不知道,placemark模型没有加载到组件中,这可能是异步问题。但我尝试过使用它。如果你还没有,我会安装Ember Inspect或者()并检查您的模型是否正确加载。嗨,nic,placemark已加载,似乎已被传播。如果您对该问题有一个jsbin,可能会更容易提供帮助。此外,我刚才的意思是,您可以编写:model:function(){…
,而不是字符串。