【问题标题】:Ember-Data: finding records instead of promisesEmber-Data:查找记录而不是承诺
【发布时间】:2014-06-25 05:14:25
【问题描述】:

我正在尝试获取已登录的用户(来自 /users?current=1 有效),并使该用户在我的整个应用程序中作为属性可用,而不是注入我的用户,我正在注入:

Object { type: makeCtor/Class(), query: Object, content: Getter, store: Object, manager: Object, isLoaded: true, meta: Object, 3 more… }

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

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");
        });
    }
});

【问题讨论】:

    标签: ember.js dependency-injection callback ember-data promise


    【解决方案1】:

    集合有一个属性 (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");
            });
        }
    });
    

    【讨论】:

    • 感谢 kingpin,您真的帮助我掌握了 Ember。您的解决方案有效。
    • 很高兴听到,学习曲线有点可怕,但是一旦你掌握了一些基础知识,它就会变得非常酷。祝你好运!
    猜你喜欢
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    相关资源
    最近更新 更多