2015-12-25 28 views
5

Trong Angular 1 và ui-router, tôi sử dụng các thông số trạng thái rất nhiều để truyền dữ liệu từ trạng thái này sang trạng thái khác (không sử dụng tham số URL). Có thể trong Angular 2?Tương đương với thông số trạng thái (Angular 1 & ui-router) trong Angular 2 là gì?

Router, RouteParams, RouterLink và RouteData dường như không để xử lý này ví dụ tôi muốn vượt qua một đối tượng người dùng từ một tiểu bang khác

<a ui-sref="home({user: myCtrl.user})"> 

này dường như không thể thực hiện trong góc 2.

+0

RouteParams đóng vai trò giống như $ routeParams hoặc $ stateParams. Và $ stateParams ** được sử dụng để thay đổi đường dẫn URL và tham số truy vấn: https://github.com/angular-ui/ui-router/wiki/URL-Routing#stateparams-service. Trích: * $ stateParams là một cách hoàn hảo để cung cấp bộ điều khiển của bạn hoặc các dịch vụ khác với các phần riêng lẻ của url được điều hướng *. –

+0

Cảm ơn bạn đã trả lời, bạn có thể sử dụng $ stateParams để truy xuất dữ liệu như Array hoặc Object. Kiểm tra API tham số: http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$stateProvider "Bản đồ tùy chọn định cấu hình các tham số được khai báo trong url hoặc xác định thông số bổ sung không phải url. " Tôi quan tâm đến "thông số không phải là url" – Shprink

+0

Tôi không biết điều đó là có thể. Nhưng nó có vẻ như là một ý tưởng tồi với tôi. Nếu các tham số không có trong URL, làm mới trang sẽ không hoạt động: các giá trị tham số sẽ bị mất. –

Trả lời

-1

Nếu bạn đang sử dụng góc 2 router, bạn có thể vượt qua nhà nước qua @RouteParams, ví dụ,

<a [routerLink]="['/ProductDetail', {id: 1234}]">Product Details</a> 

Trong trường hợp id đây là tiểu bang của bạn, và nó có thể là bất kỳ đối tượng, ví dụ .:

<a [routerLink]="['/ProductDetail', myStateObject]">Product Details</a> 

Mặt khác, góc 2 có một cơ chế để thông qua các thông số sử dụng ràng buộc để @Input() thông số thành phần, nhưng điều này có thể chỉ được sử dụng trong cùng một tuyến đường.

+0

Cảm ơn câu trả lời của bạn nhưng đó không phải là câu hỏi của tôi. Tôi quan tâm đến "tham số không phải url". Nếu bạn muốn cập nhật câu trả lời của mình, vui lòng đọc các nhận xét về câu hỏi để tránh nhầm lẫn. – Shprink

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