javascript – 如何在角度js中建模我的数据?

两个问题:

1)我正在使用angular-js,我正在寻找一种模拟数据的方法.
我对骨干模型的想法有经验.
这是一个棱角分明的工厂吗?拥有大量工厂(每种型号一个)是不是“最佳实践”,基本上模仿“工厂”的“阶级”?

工厂代表我的模型有一些“帮助”功能(如Backbone上的模型)或我的工厂代表成员列表(如骨干上的集合)?

2)例如,假设我想创建映射到REST资源的对象,并且我有一个“成员”资源,我通过GET-ing获得:/ members / 123.这将返回带有各种字段的json对象.就像是:

{id:123,name:’angularjs‘,date_created:1235845}

现在,我希望在我的AngularJS应用程序中使用此“成员”对象进行某种表示.这种表示不仅仅是字段的映射 – 我想添加“辅助”函数,例如将date_create字段转换为人类可读的字符的函数.

怎么代表这个?使用工厂$资源

最佳答案 以下是在您的案例中如何使用工厂的好例子.

angular.module('myApp').factory('Member', function($http) {
  // Member is a class which we can use for retrieving and 
  // updating data on the server
  var Member = function(data) {
    angular.extend(this, data);
  }

  // a static method to retrieve Member by id
  Member.get = function(id) {
    return $http.get('/Member/' + id).
      then(function(response) {
      return new Member(response.data);
    });
  };

  // an instance method to create a new Member
  Member.prototype.create = function() {
    var member= this;
    return $http.post('/Member/', member).then(function(response) {
      book.id = response.data.id;
      return member;
    });
  }

  return Member;
});

然后在控制器中你可以写一些像:

调节器

var controller = function(Member) {

  var memeber= new Member();
  memeber.name = 'Fox';
  memeber.create();

  // to retrieve a memeber
  var memeberPromise = Memeber.get(123);
  memeberPromise.then(function(b) {
    memeber = b;
  });
};

这里我只使用id,但你了解流程

希望它能帮助你解决问题

点赞