Tôi muốn chuyển thông số truy vấn prop=xxx
.Cách chuyển tham số truy vấn bằng bộ định tuyếnLiên kết trong Bộ định tuyến V 3 alpha mới (vladivostok)
này đã không làm việc
<a [routerLink]="['/somepath', {queryParams: {prop: 'xxx'}}]>Somewhere</a>
Tôi muốn chuyển thông số truy vấn prop=xxx
.Cách chuyển tham số truy vấn bằng bộ định tuyếnLiên kết trong Bộ định tuyến V 3 alpha mới (vladivostok)
này đã không làm việc
<a [routerLink]="['/somepath', {queryParams: {prop: 'xxx'}}]>Somewhere</a>
queryParams
queryParams
là một đầu vào của routerLink
nơi họ có thể được thông qua như
<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}">Somewhere</a>
fragment
<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}" [fragment]="yyy">Somewhere</a>
routerLinkActiveOptions
Để cũng có được tuyến đường lớp tích cực thiết lập trên các tuyến mẹ:
[routerLinkActiveOptions]="{ exact: false }"
Để vượt qua các tham số truy vấn để this.router.navigate(...)
sử dụng
let navigationExtras: NavigationExtras = {
queryParams: { 'session_id': sessionId },
fragment: 'anchor'
};
// Navigate to the login page with extras
this.router.navigate(['/login'], navigationExtras);
Xem thêm https://angular.io/guide/router#query-parameters-and-fragments
Làm thế nào để làm việc này có lập trình? Tôi đã thử với this.router.navigate (['/ resetPassword', {queryParams: {username: loginName}}]); Nhưng kết quả là: http: // localhost: 8100/resetPassword; queryParams =% 5Bobject% 20Object% 5D – rickul
Tôi đã cập nhật câu trả lời của mình. Xem thêm liên kết tôi đã thêm. Nó cho thấy một ví dụ đầy đủ. –
Cú pháp mà bạn muốn sử dụng là dành cho tham số ma trận và đây là dạng 'Somewhere ', điều này cung cấp cho bạn tham số url ma trận (dấu chấm phẩy; thay vì ? và & dấu phân tách) và bạn có thể truy cập điều này bằng ActivatedRoute.params thay vào đó được kích hoạtRoute.queryParams Thông tin thêm tại đây http://stackoverflow.com/questions/35688084/how-get-query-params-from-url-in-angular2 và tại đây http://stackoverflow.com/questions/2048121/url-matrix-parameters-vs-request-parameters –
Thông số truy vấn và thông số ma trận đều giống nhau. Sự khác biệt duy nhất là khi chúng được thêm vào phân đoạn gốc, chúng được tuần tự hóa như các tham số truy vấn, khi chúng được thêm vào một phân đoạn con, chúng được tuần tự hóa thành các tham số ma trận. –
Có một số khác biệt khác kiểm tra http://web.archive.org/web/20130126100355/http://brettdargan.com/blog/2009/01/16/query-vs-matrix-params Ngoài ra, bạn có thể kiểm tra cú pháp tham số liên kết trong tài liệu góc ở đây https://angular.io/docs/ts/latest/guide/router.html#!#link-parameters-array –