在Angular应用程序中添加全局控制器

时间:2015-01-29 10:13:16

标签: angularjs controller global resolve

我有以下情景,

我使用require.js

按照以下方式在$ routeProvider中注册我的文件
$routeProvider
               .when("/:Id", {
                   templateUrl: "Scripts/app/Views/MyHtml.html",
                   controller: "myController",
                   resolve: {
                       load: ['$q', '$rootScope', function ($q, $rootScope) {
                           var deferred = $q.defer();
                           require([
                               'scripts/app/controllers/myController', 
                           ], function () {
                               $rootScope.$apply(function () {
                                   deferred.resolve();
                               });

                           });
                           return deferred.promise;
                       }]
                   },
                   caseInsensitiveMatch: true,
               })...
....
..

现在我想在应用程序模块中添加我的全局控制器

我将此控制器放在不同的文件中。

(function () {
    app.controller("commonController", function ($rootScope, $scope){
        $scope.commonText = "You got successed."
    });
}())

现在我不想添加commoncontroller文件index.html,而是想在我的app.config执行时解析。

我在$ routeprovider函数中完成了以下代码

var commonController = ['$q', '$rootScope', function ($q, $rootScope) {
               var deferred = $q.defer();
               require([
                   'scripts/app/commonController',
               ], function () {
                   $rootScope.$apply(function () {
                       deferred.resolve();
                   });
               });
               return deferred.promise;
           }]

但是我如何在这里解决这个commonController。

有没有办法解决所有常见路由的全局控制器,指令和服务。

由于

0 个答案:

没有答案