2016-09-10 3 views
3

현재 하나의 모듈과 다른 컨트롤러의 모든 탭을 특징으로하는 angularjs 웹 사이트에서 작업하고 있습니다. 내가 가지고있는 문제는 다음 코드 블록이 완벽하게 실행되고 사용자가 로그인 페이지로 리디렉션되고 컨트롤러가 시작된다는 것입니다.

$location는 실행 기능에 주입 그러나
angular.module('ScheidsPortal', ['ngRoute', 'ui.grid', 'ui.grid.edit']) 
.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 
    $routeProvider 
    .when('/', { 
     templateUrl: 'app/login/login.html', 
     controller: 'loginController' 
    }) 
    .otherwise('/'); 

    $locationProvider.html5Mode(true); 
}]) 
.run(function ($rootScope, Interface) { 

}); 

: 라우팅 기능이 작동하지

.run(function ($rootScope, Interface, $location) { 

은 어떠한 재 사용되지 않고, 상기 제어기는로드되지 않는다. 컨트롤러에서 $location 인스턴스를 사용하더라도 문제가 발생하지 않습니다.

무엇이 누락 되었습니까?

+1

cosole의 오류는 무엇입니까? – Sajeetharan

+0

완전히 비어있는 로그는 어떤 경고 또는 오류가 문제 –

+0

가 나는 plunker을 만들어 : https://plnkr.co/edit/aFwgxwI9aHMh6n0xRFdu – Sajeetharan

답변

0

내 자신의 문제에 대한 해결책을 찾았습니다 : index.html에서 'menu'라는 구성 요소를 내 응용 프로그램의 루트로 사용했습니다.

<body> 
    <menu></menu> 
</body> 

<div ng-view></div>은 메뉴 구성 요소의 템플릿의 일부입니다. 이 구성 요소가 렌더링되지 않는 경우가 있으므로 $ routeProvider가 항상로드되지 않았습니다. index.html의 경이로운 일에 <div ng-view></div>을 넣었습니다. 콘솔에로드되는이 해당 컨트롤러를 보여주는 '로그인 컨트롤러'를 보여줍니다 로그인합니다 plunker에서

당신은 그것을 작동 볼 수 있습니다. (어떻게 든 html은 페이지에 표시되지 않지만 개발자 콘솔에서는 F12로 html 코드를 볼 수 있습니다.)

관련 문제