2013-08-02 67 views
0

這個問題讓我頭痛 - 我不知道爲什麼,但在我的應用程序中,我有兩個$ rootScope,$ id「001」和「003」(每個都有分隔變量) 。我檢查了ng-app的發生,並且它只在主頁面出現過一次。

任何人都知道爲什麼它是這樣的?

角1.1.5(相同於1.0.7)

Index.cshtml

<html lang="en" ng-app="app"> 
<head> 
    <meta charset="utf-8" /> 
    <title></title> 
    <meta name="viewport" content="width=device-width" /> 
    @Cassette.Views.Bundles.RenderStylesheets() 
</head> 


<body id="body" class="container-fluid" ng-app="app"> 
    <div ng-view ng-cloak class="row-fluid"> 
    </div> 
    @Cassette.Views.Bundles.RenderScripts() 
</body> 
</html> 

App.js:

var app = angular.module('app', ['ngResource', 'ngCookies']) 
    .config(['$locationProvider', '$routeProvider', '$httpProvider', function ($locationProvider, $routeProvider, $httpProvider) { 
     var access = RoutingConfig.accessLevels; 

     $locationProvider.html5Mode(false); 
     $routeProvider 
      .when('/', 
       { 
        redirectTo: '/Entries' 
       }) 
      .when('/Login', 
       { 
        templateUrl: 'Views/Security/Login', 
        controller: 'LoginController', 
        access: access.anonymous 
       }) 
      .when('/Entries', 
       { 
        templateUrl: 'Views/Entry/List', 
        controller: 'EntryListController', 
        access: access.user 
       }); 
    }]) 
    .run(['$rootScope', '$location', 'SecurityService', function ($rootScope, $location, SecurityService) { 
     $rootScope.$on("$locationChangeStart", function (event, next, current) { 
      $rootScope.error = null; 
      if (!SecurityService.Authorize(next.access ? next.access : RoutingConfig.accessLevels.public)) { 
       if (SecurityService.IsLoggedIn()) { 
        $location.path('/'); 
       } 
       else { 
        $location.path('/Login'); 
       } 
      } 
     }); 
    }]); 

只是爲了確保兩個模板是空的。 $ rootScope正在改變第二個$ locationChangeStart :(

回答

3

還沒有能夠重現你的問題 - 但我們已經看到類似的雙控制器/範圍的麻煩,因爲我們意外地指定了控制器兩次 - 一次在路由表中。$routeProvider.when(..., controller="xyzCtrl", templateUrl="xyz.html"),並再次出現在我的模板(data-ng-controller="xyzCtrl")刪除它們中的一個固定的問題,希望這是一個正確的方向線索

+0

還是什麼都沒有發現。 - 請看看我的更新 – mgibas

+1

可恥的是我。 - 它是頁面上的兩個angular.js :(謝謝你讓我走上正軌。 – mgibas