【问题标题】:Routes configuration only on a specific pages in AngularJS single page app仅在 AngularJS 单页应用程序中的特定页面上进行路由配置
【发布时间】:2023-03-17 11:13:01
【问题描述】:

我正在开发一个使用 Angular 的小型应用程序,它有两个模块。 目标是在应用程序的不同页面上启用模块。 例如:

http://domain.com/app1/#routesOfApp1
http://domain.com/app2/#routesOfApp2

如何确保routesOfApp1http://domain.com/app2/ 上不可用?有可能吗?

我知道其中一种方法是创建两个完全独立的 Angular 应用程序并分别加载它们。但是,我希望将其保留为一个大型应用程序,因为在某个时候,我计划将整个事情转变为全面的单页应用程序。

我有什么选择?

谢谢,

【问题讨论】:

  • 我不太明白你的问题。您能否向我们提供有关您的代码的更多信息? http://domain.com/app1/http://domain.com/app2/ 有什么区别?到目前为止,您尝试过什么?
  • 所以,http://domain.com/app1/ & http://domain.com/app2/ 只是一个应用程序的两个不同页面。到目前为止,我已经在后端渲染了所有内容,我决定开始将应用程序转换为单页应用程序。页面上已经有一个 ng-app,我在需要它们的地方附加了不同的控制器。我尝试的是创建嵌套应用程序,我只在需要它们的页面上使用它们自己的路线加载它们,但显然这是不可能的。所以,目前我的情况是,我的所有路线都可以在任何地方使用。
  • 我明白了。正如我所知,这种结构不是一个好的解决方案。你最终会得到 2 个试图处理单个视图的应用程序,然后它们会导致一堆冲突。 --- 根据您的要求,您可以/应该使用不同的方法,例如:$stateProvider 和/或requireJS 来管理应该在不同的状态下加载/运行。
  • 感谢您的意见

标签: javascript angularjs module routes


【解决方案1】:

如果我理解正确,您需要使用 requirejs。当您单击 http://domain.com/app1/routesOfApp1 时,将加载 routesOfApp1.html 及其 angularjs 控制器 (routesOfApp1Controller.js)。 (app2 什么都没有)

sampleApp.config(['$routeProvider',
    function($routeProvider) {
        $routeProvider.
            when('/app1/routesOfApp1', {
                templateUrl: 'app1/routesOfApp1.html',
                controller: 'routesOfApp1Controller'
            }).
            when('/app2/routesOfApp2', {
                templateUrl: 'app2/routesOfApp2.html',
                controller: 'routesOfApp2Controller'
            }).
            otherwise({
                redirectTo: '/default'
            });
}]);

http://www.codeproject.com/Articles/808213/Developing-a-Large-Scale-Application-with-a-Single

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    相关资源
    最近更新 更多