Javascript 如何在余烬中读取afterModel中的模型
返回此json的服务器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.
{"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')谢谢您的评论。无论是“查找”还是“查找”,您的解决方案都很有效。但很抱歉接受了另一个答案,因为这是更详细的。