0

我正在尝试使用 AngularJS 创建一个模型,Backbone 有能力这样做:

User = Backbone.Model.extend({

defaults: function() {
  return {
      "name": "finding name...",
      "id" : "",
      "age" : "",
      "gender" : ""
    };
 };

所以我以后可以做类似的事情var user = new User();

在 angularjs 中找到了这种骨干风格的模型? 我只是想验证除了通过工厂之外没有办法做到以上几点?

4

2 回答 2

1

您可以使用模块的 value 方法来存储函数,而不是让工厂返回这样的函数:

var myApp = angular.module('myApp', []);

myApp.value('User', function () {
        return {
            "name": "finding name...",
            "id": "",
            "age": "",
            "gender": ""
        };
});

function ctrl($scope, User) {
    var user = new User();
    console.log(user);
}
于 2013-08-27T18:47:16.643 回答
0

您可以使用 factory 返回一个函数,然后您将能够使用关键字new创建一个新对象。

var myApp = angular.module('myApp', []);
myApp.factory('User', function () {
    return function () {
        return {
            "name": "finding name...",
            "id": "",
            "age": "",
            "gender": ""
        };
    };
});

function ctrl($scope, User) {
    var user = new User();
    console.log(user);
}
于 2013-08-27T18:06:54.067 回答