2016-04-18 31 views
5

Ứng dụng web của tôi có nhiều bộ lọc cần được thể hiện trong Url hiện tại để người dùng chỉ cần sao chép/đánh dấu trang hiện tại để khôi phục sau.

Trong góc 1, tôi đã sử dụng $location.search(name, value) để chỉ cần đặt thông số tìm hiểu về thay đổi. Bây giờ tôi muốn nhận được một cái gì đó tương tự trong angular2.

Hoặc có sai không?

Trả lời

2

Tôi nghĩ bạn phải sử dụng bộ định tuyến bên trong Angular2. mã ví dụ:

import {Component} from 'angular2/core'; 
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router'; 
import {ProfileComponent} from './profile.component'; 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <router-outlet></router-outlet> 
    `, 
    directives: [ROUTER_DIRECTIVES] 
}) 

@RouteConfig([ 
    {path: '/profile/:id', name: 'Profile', component: ProfileComponent} 
]) 

export class AppComponent { 
} 

Các: id là một tham số tuyến đường và bạn có thể làm một URL như thế: /profile/2 và 2 là giá trị của tham số id.

Bạn có thể tìm thấy chi tiết hơn trong doc Angular2: router doc

+1

Cảm ơn bạn, nhưng những gì nếu tôi có nhiều tham số tùy chọn? –

+2

Bạn phải sử dụng queryParams trong trường hợp này và có một liên kết trên StackOverflow cho rằng: [route parameters parameters] (http://stackoverflow.com/questions/34208745/angular-2-optional-route-parameter) –

Các vấn đề liên quan