2012-10-02 26 views
8

Tôi đang tạo ứng dụng xem tài nguyên nhưng vấn đề là tôi đã cố gắng khớp với when("/!/:resourceUrl").AngularJS - Tuyến đường - Cách đối sánh dấu sao (*) dưới dạng đường dẫn

Nó hoạt động tốt nếu url tài nguyên là một cái gì đó như /path, nhưng làm cách nào tôi có thể tạo một cái gì đó như một /path/to/the/resource.
Tôi không biết sẽ mất bao nhiêu đường, vì vậy tôi không thể làm .when("/!/:path1/:path2/:path3").

Bất kỳ ý tưởng nào?

Trả lời

12

Tính góc-1.2 bạn có thể làm điều này:

when("/!/:resourceUrl*") 

http://code.angularjs.org/1.2.0/docs/api/ngRoute.$routeProvider

Đặc biệt là tài liệu đưa ra ví dụ sau đây:

Ví dụ: các tuyến đường như /color/:color/largecode/:largecode*\/edit sẽ khớp với /color/brown/largecode /code/with/slashs/edit và cũ đường:

  • color: brown
  • largecode: code/with/slashs
4

Hiện tại, AngularJS không hỗ trợ biểu thức chính quy trong các tuyến đường.

Kiểm tra những liên kết này: https://github.com/angular/angular.js/issues/918, https://github.com/angular/angular.js/pull/972

+0

Cảm ơn. Bạn có thể sugest tôi một ý tưởng hoặc làm thế nào để lưu trữ mục tiêu của tôi. Tôi chỉ có 2 tuyến đường,/đăng nhập và/!. /! /: ResourcePath là đường dẫn đến tài nguyên mà người dùng muốn xem, nhưng tôi không muốn tạo /!/Path2Fto2Fthe2Fresource vì nó là xấu. – Diestrin

+0

Ý bạn là nói gì? Có phải đó là một số dữ liệu có ID 'xấu' dài của nó không? –

+0

Vâng, tốt, tài nguyên giống như url của sách hoặc hình ảnh, ứng dụng của tôi là thư viện nhưng tôi muốn có thể thực hiện một việc như: http://myapp.com/#/!/javascript/basics /JS_01.pdf vì vậy tôi có thể lấy thông số này và xem hướng này để hiển thị nó cho người dùng. Người dùng có thể đánh dấu url này để có thể chia sẻ. – Diestrin

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