2014-01-22 2 views
2

나는 두 개의보기, about.htmlbio.html을 가지고 있으며 처음부터 두 번째로 리디렉션을 설정합니다. 나는 다음과 같이 일할 것을 기대하지만, 그렇게하지는 않습니다. 왜 그런가? 여기 각도 다트에서 리디렉션 만들기

컨트롤러 코드 :

# my_controller.dart 
@NgController(
    selector: '[my-controller]', 
    publishAs: 'ctrl' 
) 
class MyController { 
    Router router; 

    MyController(this.router); 

    redirect() { 
    router.go('bio', {}); 
    } 
} 

그리고 여기 index.html 파일 관련 발췌 :

# index.html 
<div my-controller> 
    <span><a href="#/about" ng-click="ctrl.redirect()">About</a></span> 
    <section> 
    <ng-view></ng-view> 
    </section> 
</div> 

및 여기 라우터 코드 :

# my_router.dart 
library my_router; 

import 'package:angular/angular.dart'; 

class MyRouteInitializer implements RouteInitializer { 
    init(Router router, ViewFactory view) { 
    router.root 
     ..addRoute(
      name: 'about', 
      path: '/about', 
      enter: view('views/about.html')) 
     ..addRoute(
      name: 'bio', 
      path: '/bio', 
      enter: view('views/bio.html')); 
    } 
} 

답변

2

링크에서 href="#/about"을 삭제 해보세요. 프로그래밍 방식의 bio으로 리디렉션되는 것과 충돌합니다.

+0

물론. 감사. 코드를 다시 보면이 유형의 리디렉션은 제한된 가치가 있습니다. 사용자가 앱에서 #/about.html '로 이동하는 다른 링크를 클릭하거나 사용자가 해당 링크를 북마크에 추가 한 경우 리디렉션이 발생하지 않습니다. –