使用UI路由器模块化AngularJS应用程序

时间:2017-01-03 21:08:42

标签: angularjs angular-ui-router

我正在尝试模块化使用UI-Router的大型AngularJS应用程序(1.4.8)。

目前的结构是这样的:

transactionApp.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
    $stateProvider
    .state('root', {
        url: '/transaction',
        views: {
            'header': {
                templateUrl: '/Partials/Shells/Header/header-partial.html',
                controller: 'headerController',
                resolve: {
                    headerItems: ['$http', function ($http) {
                        var data = {};
                        data["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
                        if (dataForLayout.IsLoggedIn) {
                            return $http({
                                method: 'POST',
                                url: '/myaccount/GetHeaderAccountInfo',
                                data: data
                            });
                        }
                    }]
                }
            },
            'footer': {
                templateUrl: '/Partials/Shells/Footer/footer-partial.html',
                controller: 'footerController'
            },
            'mainPanel': {
                templateUrl: '/Partials/Shells/Transaction/transaction-partial.html',
                controller: 'mainPanelController'
            },
            'successPanel': {
                templateUrl: '/Partials/Shells/Transaction/transaction-success-panel.html',
                controller: 'successPanelController'
            }
        }
    });

    $urlRouterProvider.otherwise('/transaction');

    // Enable HTML5Mode for #-urless
    $locationProvider.html5Mode(true);

}]);

我要模块化的部分是“mainPanel”。 mainPanel包括步骤1,步骤2,步骤3和最终审核/提交页面。如果可能/有益,我也想分开弹出模式。步骤,审阅页面和模态相互依赖。

无论用户在哪一步,网址都必须保留“/ transaction”。

我想象的是将父节点作为“mainPanel”连接子模块并具有“步骤1”,第2步,“等等的子模块。

我已经阅读了一些文章,但似乎找不到有关进一步模块化模块的文章。

0 个答案:

没有答案