我需要在 restangular 模型中定义关联。我想定义它们来使用它user.post.title
,但我遇到了一些问题。
对于我有自己的服务层的模型,它看起来像这样:
app.factory('models.user', function(Restangular) {
var users;
users = {};
return {get: function(user_id) {
return users[user_id] || (users[user_id] = Restangular.one('users', user_id).get());
}};
});
app.factory('models.post', ['Restangular', 'models.user', function(Restangular, User) {
Restangular.extendModel('posts', function(post) {
post.user || (post.user = User.get(post.user_id));
return post;
});
return {get: function(post_id) {
return Restangular.one('posts', post_id).get();
}};
}]);
有了这个,我可以post.user().first_name
从一个帖子导航到它的用户,但是代码非常难看,在某些情况下并不能很好地工作,比如更新模型它会陷入无限循环,试图克隆帖子对象。
知道如何在restangular模型中定义关联吗?