2

我需要在 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模型中定义关联吗?

4

0 回答 0