2014-01-22 2 views
2

У меня есть два вида, about.html и bio.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 ', или если у пользователя есть закладка этой ссылки, перенаправления не будет. –

Смежные вопросы