在 Angular1 中使用 $routeProvider 时如何跨页面正确加载 javascript

How to correctly load javascript across pages when using the $routeProvider in Angular1

目前,我使用Angular的$routeProvider 和$locationProvider 来浏览SPA。 我不清楚如何使用控制器跨页面实现 javascript。 一旦我切换页面,javascript 控制器就不会被执行。 我在下面发布了一个示例。 我的脚本是从 mainScript.js

调用的
app.config(['$routeProvider', '$locationProvider', function ($routeProvider, 
$locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider.when("/", {
            templateUrl: "partials/home.html"
            , controller: "PageCtrl"
        })
        // Pages
        .when("/pricing", {
            templateUrl: "partials/pricing.html"
            , controller: "PageCtrl"
        })
        .otherwise("/404", {
            templateUrl: "partials/404.html"
            , controller: "PageCtrl"
        });
  }]);

 app.controller('PageCtrl', function ( $scope ) {

 $scope.menuCtrl = function(){
        //execute code across pages
    }
    $scope.menuCtrl();

});
}());

您可以使用 oclazyload。首先在您的应用中注入 oc.lazyload 然后:

 app.config(['$routeProvider', '$locationProvider', function ($routeProvider, 
    $locationProvider) {
        $locationProvider.html5Mode(true);
        $routeProvider.when("/", {
                templateUrl: "partials/home.html"
                , controller: "PageCtrl",
                  resolve:{
                loadFiles: [
                            "$ocLazyLoad", function ($ocLazyLoad) {
                                return $ocLazyLoad.load([
                                    "mainScript.js",

                                ]);
                            }
                        ]
                      }
            })