存储AngularJS模型的初始状态

时间:2014-08-14 08:26:50

标签: angularjs

我的应用程序中有存储库工厂:

 angular.module().factory('userRepository', function(){
    return {
            getById: function(id){},
            getAll: function(){},
            delete: function(id) {},
    };
});

在我看来,我需要创建一个具有某种预定义状态的新用户实体。我将使用UI进行修改,并将使用存储库进行保存。

我应该在哪里存储此预定义值?在控制器中,在常量/值()?

3 个答案:

答案 0 :(得分:1)

这是基于个人意见的,但我会在存储库上创建方法createNew(),以便与user的数据相关操作在一个地方。

 angular.module().factory('userRepository', function(){
    return {
            createNew: function() { return ... }
            getById: function(id){},
            getAll: function(){},
            delete: function(id) {},
    };
});

答案 1 :(得分:1)

创建工厂方法:

angular.module('app').factory('userRepository', function(){
    return {
        createUser:function() {
            return {
               name:'',
               email: ''
            }
        }
    };
});

用法:

app.controller('ctrl', function($scope, userRepository) {
     $scope.user = userRepository.createUser();
});

答案 2 :(得分:0)

对于我的小项目,我决定将所有逻辑相关的实体保存在一个地方,但要保持直观。所以我创建了两个工厂:存储库和实体:

angular.module().factory('userRepository', function(){
return {
        getById: function(id){},
        getAll: function(){},
        delete: function(id) {},
    };
})
.factory('userDefinitionRepository', function(){
    return {
        newUser: function{ ... }
    };
});