Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
Javascript 如何在余烬中读取afterModel中的模型_Javascript_Jquery_Ember.js - Fatal编程技术网

Javascript 如何在余烬中读取afterModel中的模型

Javascript 如何在余烬中读取afterModel中的模型,javascript,jquery,ember.js,Javascript,Jquery,Ember.js,返回此json的服务器 {"auths":[{"id":0,"email":"abc","password":"","logged":false}]} 在用于chrome的ember调试器中,我可以看到模型已填充 EMSystem.Auth = DS.Model.extend({ email: DS.attr('string'), password: DS.attr('string'), logged: DS.attr('boolean') }); EMSystem.

返回此json的服务器

{"auths":[{"id":0,"email":"abc","password":"","logged":false}]}
在用于chrome的ember调试器中,我可以看到模型已填充

EMSystem.Auth = DS.Model.extend({
    email: DS.attr('string'),
    password: DS.attr('string'),
    logged: DS.attr('boolean')
});

EMSystem.HomeRoute = Ember.Route.extend({
    model: function() {
        return this.store.findAll('auth');
    },
    afterModel: function(model) {
        console.log(model.get('logged'));
        //logic to change the route if user is logged
    }
});
但是对于console.log,我没有定义。如何在after model中访问模型?

findAll('type')
find('type')
是同义词,两者都返回一个集合。如果要打印出每个项目的
记录的
值,可以使用
forEach
/
for
对集合进行迭代

afterModel: function(model) {
  model.forEach(function(record){
    console.log(record.get('logged'));
    //logic to change the route if user is logged
  });
}

你检查了你在afterModel中得到的模型对象了吗。我认为您可能会得到一个数组,因为您使用的是“findAll”方法。如果是这样的话,这个模型可能会工作。get('firstObject.logged')谢谢您的评论。无论是“查找”还是“查找”,您的解决方案都很有效。但很抱歉接受了另一个答案,因为这是更详细的。