6

새로운 상태 기반의 ui-router을 사용하는 AngularJS 응용 프로그램이 있습니다. 내 응용 프로그램에는 세 가지 다른 뷰가 있는데, 하나는 최상위 뷰이고 다른 두 개는 중첩 된 뷰입니다.각도 라우터에서 중첩 된 상태의 뒤로 버튼

구조는 기본적으로 다음과 같다 : 라우터는 다음과 같은 설정

/ => Top-level view 
/foo => Abstract view, loads a view that contains a ui-view placeholder 
/foo/bar => View for the placeholder 
/foo/baz => View for the placeholder 

:

app.config(['$urlRouterProvider', '$stateProvider', function ($urlRouterProvider, $stateProvider) { 
    'use strict'; 

    $urlRouterProvider 
    .when('/bar', '/foo/bar') 
    .otherwise('/'); 

    $stateProvider 
    .state('home', { 
     url: '/', 
     views: { 
     '': { 
      controller: 'homeController', 
      templateUrl: '/home/homeLayout.html', 
     }, 
     '[email protected]': { 
      templateUrl: '/home/firstHomeView.html' 
     }, 
     '[email protected]': { 
      templateUrl: '/homme/secondHomeView.html' 
     } 
     } 
    }) 
    .state('foo', { 
     abstract: true, 
     templateUrl: '/foo/fooLayout.html', 
     controller: 'fooController' 
    }) 
    .state('foo.bar', { 
     url: '/foo/bar', 
     templateUrl: '/foo/barView.html', 
     controller: 'barController' 
    }) 
    .state('foo.baz', { 
     url: '/foo/baz', 
     templateUrl: '/foo/bazView.html', 
     controller: 'bazController' 
    }); 

문제는 당신이 주위를 클릭하거나 수동으로 입력 할 때 기본적으로 모든 것이 기대 작품으로 있다는 것입니다 브라우저에서 뒤로/앞으로 버튼을 사용할 때 작동하지 않는다는 것을 의미합니다.

예를 들어 /foo으로 가면 /foo/bar으로 예상됩니다. /foo/baz으로 연결되는 링크를 클릭하면 모든 것이 정상입니다. 그런 다음 /으로 연결되는 링크를 클릭하면 모든 것이 정상입니다.

이제 뒤로 버튼을 누르면 다시 /foo/baz (올바른)이지만 /foo/fooLayout.html보기 만 렌더링되고 하위보기는 /foo/bazView.html이 아닙니다. 이제 이상한 점은 뒤로 버튼을 다시 누르면 /foo/bar으로 이동하고 서브 뷰을 포함하여 올바르게 렌더링된다는 것입니다. 같은 시간에 추상적 인 뷰를 입력하는 경우 적어도 뒤로 버튼을 사용할 때 중첩 된 뷰가 인식되지 않는 것처럼 보입니다.

$locationProvider.html5Mode은 활성화되어 있지 않지만 활성화해도 아무런 차이가 없습니다.

저는 AngularJS 1.0.5와 ui-router 0.0.1-2013-03-20을 사용하고 있습니다.

어떤 아이디어로 인해이 문제가 발생할 수 있으며 어떻게 해결할 수 있습니까?

답변

4

오류가 발견되었습니다.보기에서 fooLayout.htmlui-view 대신 ng-view을 사용하고 있습니다. 일단 내가 바꿨다면, 모든 것이 잘되었다 .-)

+1

다음날 해결책을 찾았 기 때문에 기쁘다 .. :) – Vignesh

관련 문제