Ember.js 余烬数据:查找记录而不是承诺

Ember.js 余烬数据:查找记录而不是承诺,ember.js,dependency-injection,callback,ember-data,promise,Ember.js,Dependency Injection,Callback,Ember Data,Promise,我正在尝试获取登录用户(从/users?current=1,它可以工作),并使该用户在整个应用程序中作为属性可用,但不是注入我的用户,而是注入以下内容: Object{type:makeCtor/Class(),query:Object,content:Getter,store:Object,manager:Object,isload:true,meta:Object,还有3个…} 这完全不是我想要的。这张唱片在商店里出现得很好。这是相关代码。谢谢你的关注 App.initializer({

我正在尝试获取登录用户(从
/users?current=1
,它可以工作),并使该用户在整个应用程序中作为属性可用,但不是注入我的用户,而是注入以下内容:

Object{type:makeCtor/Class(),query:Object,content:Getter,store:Object,manager:Object,isload:true,meta:Object,还有3个…}

这完全不是我想要的。这张唱片在商店里出现得很好。这是相关代码。谢谢你的关注

App.initializer({
    name: "appUser",
    after:['ember-data'],

    initialize: function (container, application) {
        var store = container.lookup('store:main');
        store.find('user',{current: "1"}).then(function(data){
            var user = data; //data.get('content')[0] (?) (Something else?)
            application.register("my:user", user, {instantiate:false});
            application.inject("controller", "user", "my:user");
            application.inject("route", "user", "my:user");
        });
    }
});

集合有一个属性(
firstObject
),该属性将返回集合中的第一个项,或者返回未定义的项

当您在控制台中查看模型时,您需要仔细考虑模型应该是什么样子。它隐藏子属性中的属性,并在使用getter时返回它们,在使用setter时设置它们。这就是回滚的全部功能

App.initializer({
    name: "appUser",
    after:['ember-data'],

    initialize: function (container, application) {
        var store = container.lookup('store:main');
        store.find('user',{current: "1"}).then(function(data){
            var user = data.get('firstObject');  
            console.log(user.get('first_name')); // use getters to view the properties
            application.register("my:user", user, {instantiate:false});
            application.inject("controller", "user", "my:user");
            application.inject("route", "user", "my:user");
        });
    }
});

感谢主销,你真的帮助我抓住了余烬。你的解决方案有效。很高兴听到,学习曲线有点怪异,但一旦你掌握了一些基本知识,它就会变得超级酷。祝你好运