我试图找到一个关于如何在 Angular 2 中使用路由器的具体示例。此外,5 分钟快速入门angular2.d.ts
中的当前输入文件
不支持@Routes注释。
6 回答
Angular 2 中的主要组件和路由类。
router-link – router-link 指令用于将链接声明到视图中。它还可以包含可选参数。
例子 :
<a [router-link]="['/AboutUs']">About Us</a>
router-outlet – 它用作视图的占位符,然后渲染组件。意味着 template 和 templateUrl 将在您将使用 router-outlet 指令的位置呈现。
例子 :
<router-outlet></router-outlet>
@RouteConfig – 我们将 URL 映射到本节中在 .
例子 :
@RouteConfig([
{path: '/', component: HomeComponent, as: 'Home'},
{path: '/aboutus', component: AboutUsComponent, as: 'AboutUs' }
{path: '/contactus', component: ContactUsComponent, as: 'ContactUs' }
])
RouteParams – 由路由器渲染的组件的参数。
阅读本文了解更多信息http://www.codeandyou.com/2015/11/understand-routing-in-angular-2.html
一个有用的Angular 2 路由器示例。具体代码可以在这里找到。
Angular2 中的基本路由(更新到 Beta 版)
首先要在 angular2 中设置路由,您必须在主文件 index.html 中导入路由器文件,即
<script src="node_modules/angular2/bundles/router.dev.js"></script>
而不是我们必须在 index.html 中<base href="/">
的标记之后添加<head>
来告诉路由器如何编写导航 URL。通过这样做,我们只是设置了角度路由的基本配置。
现在是时候配置路由了,根据需要设置我们的路由器,基本上我们需要三个基本的东西——
- 路由器链接
- 路由器插座
- 和@RouteConfig
路由器链接 -
RouterLink 期望该值是一个路由名称数组,后跟该级别路由的参数。
引用自官方
第一个路由名称应以 /、./ 或 ../ 开头。如果路由以 / 开头,路由器将从应用程序的根目录查找路由。如果路由以 ./ 开头,路由器将改为在当前组件的子组件中查找路由。如果路由以 ../ 开头,路由器将查看当前组件的父级
我们这样定义 routerLink -
<a [routerLink]="['./HomeCmp']">Hello Routing</a>
在这里,我们可以提供参数以及可选的路由,也可以从这里提供子路由。像这样的参数 -
<a [routerLink]="['./HomeCmp', {key : value}]">Hello Routing</a>
路由器插座
路由器出口是一个占位符,其中路由数据将显示在显示屏上。还有另一种类型的路由器出口,称为aux route
. 可以这样使用——
<router-outlet></router-outlet>
@RouteConfig
routConfig 上存在各种属性,例如路径、名称、组件等。当浏览器的 URL 发生变化时,路由器会查找相应的 RouteDefinition,从中可以确定要显示的组件。
path - 用于定义 whihc 在浏览器地址栏中显示为 url。
name - 应在定义 routerLink 名称时用作名称。
组件 - 表示在此路由处于活动状态时要加载的组件。
useDefaultAs - 如果我们想将此设置为默认路由,请设置为 true。
例子是 -
@RouteConfig([
{path:'/crisis-center', name: 'CrisisCenter', component: CrisisListComponent, useDefaultAs : true}
])
有关更多信息,另请参阅 -
- https://angular.io/docs/ts/latest/guide/router.html
- http://blog.thoughtram.io/angular/2015/06/16/routing-in-angular-2.html
- http://blog.ng-book.com/basic-routing-in-angular-2/
对于子路由,另请参见 -
更新到 ANGULAR2 RC
在 RC 之后,在 angular2 中的路由发生了很多变化,其中一些我要在这里提到的点可能会对某人有所帮助:-
angular2/router
已更改为@angular/router
(您也可以使用 import of 路由的旧功能,@angular/router-deprecated
但现在我们必须使用@angular/router
)。@RouteConfig
已更改为@Routes
。
例如 :-
@Routes([
{path: '/crisis-center', component: CrisisListComponent},
{path: '/heroes', component: HeroListComponent}
])
根据更新日志中的更新,请尽快更新我的答案。
到目前为止,我看到的最好的是 https://github.com/angular-class/angular2-webpack-starter(它也与 webpack 一起使用 - 恕我直言,值得付出努力)此外,它也支持 TypeScript。
另外,基于最后一个链接是我的启动器,可以在这里找到 - https://github.com/EladRK/angular-starter
也许来晚了,但试试这个:)
Angular 2 RC.1 中的路由
这是您可以尝试的另一个资源(Angular RC.1): https ://playcode.org/routing-in-angular-2-rc-1/
这是代码: https ://github.com/jlsuarezs/RoutingExample
我建议您使用 Angular-CLI 创建新路由: https ://github.com/angular/angular-cli
示例: https ://github.com/angular/angular-cli#generating-a-route