Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 面向对象的工厂管理_Javascript_Angularjs - Fatal编程技术网

Javascript 面向对象的工厂管理

Javascript 面向对象的工厂管理,javascript,angularjs,Javascript,Angularjs,我正在尝试混合一些面向对象的方法来解决我遇到的一个问题。所以我基本上想要一个“模块”对象的列表,这些对象被实例化,然后在.config阶段编辑,并且能够很容易地被引用。到目前为止,我有这个 .factory('moduleOb', function(){ return function(name, cb) { this.name = name; this.callback = cb; this.currentState = "";

我正在尝试混合一些面向对象的方法来解决我遇到的一个问题。所以我基本上想要一个“模块”对象的列表,这些对象被实例化,然后在.config阶段编辑,并且能够很容易地被引用。到目前为止,我有这个

 .factory('moduleOb', function(){

    return function(name, cb) {
        this.name = name;
        this.callback = cb;
        this.currentState = "";
        this.states = {};
        this.addState = function(state, values) {

        };
    }   
})
因此,我希望能够实例化其中一些“模块”,然后我有一个具有addState返回的提供程序,其中配置I将定义将推入对象的状态,如下所示:

 .provider("routeTest", function() {

    return { 
        addState: function(state, values) {
            //push state[value] in this
        },
        $get: function $get() {
            return this;
        }
    }
})
(无论如何,这就是想法)。因此,预期的目标是,在配置中,让用户定义如下状态

    .config(function(routeTestProvider){
    routeTestProvider
    .addState("mod1", ["n", "m"])
    .addState("mod2", ["r","j"]);
这些州将推进/扩展到各自的模块中。现在,我正在努力设置模块对象的“数组”(可能是其他什么?),并能够引用正确的数组。也许更好的办法是让addState作为对象的一个函数,但是如果对象是工厂,我如何为.config访问它呢

该提供者/工厂位于主应用程序中,使用它的所有模块都是注入的完全独立的模块。所以我尝试将模块作为一个模块对象进行排序,并更新其中的状态


我需要一些帮助来正确处理这个问题。谢谢你抽出时间

您的具体问题是什么?@charlietfl如何设置它,以便我可以让所有模块创建自己的模块对象并将其推送到状态(希望使用config,但我不确定config是否有效,所以可能是.run)