2013-08-27 102 views
0

我试图创建AngularJS的方式骨干示范创建模型有这样做的能力:与AngularJS

User = Backbone.Model.extend({ 

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

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

我发现这个backbone-style models in angularjs? 我只是试图验证没有办法做到上述,但通过工厂?

+0

如果您需要更改的方式在处理数据看看像“factorys”和“services”这样的所有提供者,但是,你还必须记住,像这样的模型通常会存在于HTML和绑定的$ scope中。我只是推入你的$ scope数组,并$观看它来保持持久性。如果你有一种特殊的方式来处理Angular以外的数据,只需使用常规对象,因为在这种情况下,Backbone只是原型的包装。 – Dylan

回答

1

您可以使用一个模块的值的方法,而不是存储具有工厂恢复这样的功能的功能:

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); 
} 
0

您可以使用工厂返回一个函数,然后您将能够使用关键字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); 
}