AngularJS

时间:2016-06-01 08:07:57

标签: angularjs

我有一个Angular应用程序,它有几个动态字段,每个字段都会根据来自后端数据库的配置进行更新。

为了控制使用什么配置,我需要动态切换单个变量 - 我已经确定URL是设置/切换变量的最佳方式,因为需要基于网站的多个排列。 URL如此: -

/:dynamicVariable/

我正在寻找一些指导,指出这是否是最好的方法,以及最好的方法是什么?我正在努力,因为我不想为每个部分设置每个路由,如/:dynamicVariable/homepage /:dynamicVariable/about-us等等。理想情况下,核心模块检查并设置它,但路由忽略它,所以{ {1}}成为根。

希望有意义,先谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我最终通过使用ui.router并在一个抽象的父状态中嵌套状态来实现这一点,该状态包含客户端,如下所示: -

.state('rootClient', {
            abstract: true,
            url: '/:client',
            templateUrl: 'app/layout/layout.html',
            controller: 'Layout',
            controllerAs: 'layout',
            noClient: false,
            resolve: {
                client: function ($stateParams, ClientService) {
                    return ClientService.getClient($stateParams.client);
                }
            }
        })
.state('rootClient.home', {
            url: '/homepage',
            views: {
                'content': {
                    templateUrl: 'app/homepage/homepage.html',
                    controller: 'Homepage',
                    controllerAs: 'home'
                }

            }

        });

这样所有路由都在父路由下,我还添加了一个解决方案,以确保客户端在移动到路由之前存在。希望这会帮助其他人下线。

干杯