Angular2路由:是否存在链接参数数组具有多个元素的条件?

时间:2016-08-27 13:19:28

标签: angular

我在教自己Angular2。我正在阅读的文字说明如下:当用户导航到使用routerLink指令绑定到路由的功能时,路由器使用链接参数数组和路由配置来组成URL段。

给出的代码示例:

import { Component } from 'angular2/core';
import {ProductListComponent} from './products/product-list.component';
import {ProductService} from './products/product.service';
import {HTTP_PROVIDERS} from 'angular2/http';
import {ROUTER_PROVIDERS, RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import 'rxjs/Rx'; //Load all features
import {WelcomeComponent} from './home/welcome.component'
@Component({
    selector: 'pm-app',
    template:`
    <div>
        <nav class='navbar navbar-default'>
            <div class='container-fluid'>
                <a class='navbar-brand'>{{pageTitle}}</a>
                <ul class='nav navbar-nav'>
                    <li><a [routerLink]="['Welcome']">Home</a></li>
                    <li><a [routerLink]="['Products']">Product List</a></li>
                </ul>
            </div>
        </nav>
        <div class='container'>
            <router-outlet></router-outlet>
        </div>
    </div>`,
    directives: [ROUTER_DIRECTIVES],
    providers: [ProductService, HTTP_PROVIDERS, ROUTER_PROVIDERS]
})
@RouteConfig([
    {path: '/welcome', name: 'Welcome', component: WelcomeComponent, useAsDefault: true },
    {path: '/products', name: 'Products', component: ProductListComponent}
])
export class AppComponent {
    pageTitle: string = "Acme Product Management";
}

我的问题是: 是否存在链接参数数组将具有多个元素的条件?

在我看来,它总是一个只有一个元素的数组,因为它与RouteConfig obj中的name属性相关联,而后者又与被调用的组件相关联,以显示它的内容,其中router-outlet指令位于。如果答案是肯定的,你会解释它是如何使用的。

2 个答案:

答案 0 :(得分:1)

如果您想提供可选 路线参数

<a [routerLink]="['welcome', { foo: 'foo' }]">welcome</a>

然后,链接参数中有多个元素

答案 1 :(得分:1)

RC.5(路由器3.0.0-rc.1):

// with a dynamic/property value:  /user/<id>/profile
[routerLink]="['/user', user.id, 'profile']"

// with a route parameter:  /user;abc=xyz
[routerLink]="['/user', {abc: 'xyz'}]"

另请参阅开发指南Link Parameters Array文档和RouterLink API