Angular Dart中的嵌套路线

前端之家收集整理的这篇文章主要介绍了Angular Dart中的嵌套路线前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个路由方案,其中#/ articles指向articles.html视图,#/ articles / features指向featured.html.不过,我不知道如何声明这个嵌套的写作.如果我按如下方式配置我的路由,#/ articles和#/ articles / features都会导致articles.html(因为两个路径都匹配r’^ articles’).

library my_router;

import 'package:angular/angular.dart';

class MyRouteInitializer implements RouteInitializer {
  init(Router router,ViewFactory view) {
    router.root
      ..addRoute(
          name: 'articles',path: '/articles',enter: view('views/articles.html'),mount: (Route route) => route
            ..addRoute(
                name: 'featured',path: '/featured',enter: view('views/featured.html'))

      );
  }
}

如果我省略了enter:view(‘views / articles.html’)行,#/ articles / featured路由正确路由到featured.html,但是没有路由到articles.html.

解决方法

当您定义嵌套视图时,预计它们将由嵌套的ng视图呈现,但它看起来并不像您真正想要的那样.使用扁平结构的解决方法可能没问题.或者你可以这样做:

class MyRouteInitializer implements RouteInitializer {
  init(Router router,mount: (Route route) => route
            ..addRoute(
                name: 'all',path: '/all',default: true,enter: view('views/articles.html')
            ..addRoute(
                name: 'featured',enter: view('views/featured.html'))
      );
  }
}

猜你在找的Angularjs相关文章