Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/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.data 1.13 JSONAPI属于异步传递到组件_Ember.js_Ember Data - Fatal编程技术网

Ember.js Ember.data 1.13 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

我使用JSONAPI作为适配器

型号:

   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(){…
,而不是字符串。