Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 AngularJS:实现多页面、多控制器模式_Javascript_Angularjs_Modal Dialog - Fatal编程技术网

Javascript AngularJS:实现多页面、多控制器模式

Javascript AngularJS:实现多页面、多控制器模式,javascript,angularjs,modal-dialog,Javascript,Angularjs,Modal Dialog,我正在寻找一种实现模式的方法,它包含一个跨越多个页面的对话框。每个页面都应该有自己的控制器,并且应该对数据进行自己的服务器调用。例如,可以使用一个模式选择某一天:在第一页上选择一年,在第二页上选择一个月,在第三天,在每一页上缩小选择范围。但是每个页面的Url应该保持不变 我的第一个想法是构建类似UI路由器的东西,它允许您定义模态可以存在的状态,每个状态都有自己的控制器和解析函数: ModalService.register({ name: "daySelector", state

我正在寻找一种实现模式的方法,它包含一个跨越多个页面的对话框。每个页面都应该有自己的控制器,并且应该对数据进行自己的服务器调用。例如,可以使用一个模式选择某一天:在第一页上选择一年,在第二页上选择一个月,在第三天,在每一页上缩小选择范围。但是每个页面的Url应该保持不变

我的第一个想法是构建类似UI路由器的东西,它允许您定义模态可以存在的状态,每个状态都有自己的控制器和解析函数:

ModalService.register({
    name: "daySelector",
    states: {
        years: {
            templateUrl: "day-selector-years.tpl.html",
            controller: "DaySelectorYearsController",
            params: [],
            resolve: {
                years: function () {
                    return DataService.getYears();
                }
            }
        },
        months: {
            templateUrl: "day-selector-months.tpl.html",
            controller: "DaySelectorMonthsController",
            params: ["year"],
            resolve: {
                months: function (year) {
                    return DataService.getMonthOfYear(year);
                }
            }
        },
        days: {
            templateUrl: "day-selector-days.tpl.html",
            controller: "DaySelectorDaysController",
            params: ["year", "month"],
            resolve: {
                days: function (year, month) {
                    return DataService.getDaysOfMonth(year, month);
                }
            }
        }
    }
});

据我所知,这将需要我自己完成所有的编译和依赖注入。我还必须以某种方式将模式链接到某个模块和某个范围,以确保所有依赖关系都可以得到解决。现在,我仍然对AngularJS的这些相当低级的操作非常不熟悉。因此,在深入研究所有这些问题之前,我想检查一下这是否真的是一条可行之路,或者是否有更好的方法来解决这个问题。

我也想知道是否有更好的方法来解决这个问题。根据ui,路由器不能与ui.bootstrap.modals一起使用。