Angularjs 1工厂应该返回实例化对象还是构造函数?

时间:2016-03-30 09:40:47

标签: javascript angularjs

我在Angular 1中创建了一个工厂,我想用它在消费代码中创建一个新实例。 所以问题是工厂应该返回一个返回对象的新实例的函数,还是应该只返回构造函数...以及为什么?

选项1,创建功能:

    module.factory('MyObject', function(){

        function MyObject(args){
            stuff...
        }

        return {
            create: function (args) {
                return new MyObject(args);
            }
        }
    })

然后可以实例化

var thing = MyObject.create(args);

选项2,返回构造函数:

    module.factory('MyObject', function(){

        function MyObject(args){
            stuff...
        }

        return MyObject;
    })

然后可以实例化

var thing = new MyObject(args);

0 个答案:

没有答案