2014-01-22 64 views
2

我有兩個視圖,about.htmlbio.html,並且會設置從第一個到第二個的重定向。我期望以下工作,但它不會。任何想法爲什麼?在Angular Dart中創建重定向

這裏是控制器代碼:

# 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',或者用戶已將該鏈接添加爲書籤,則不會有重定向。 –