2013-06-26 31 views
7

Tôi muốn bắt đầu điều hướng từ http://mysite.com/hello/world, không phải từ gốc của trang web.Cách đặt vị trí gốc cho bộ định tuyến AngularJS?

ví dụ:

$routeProvider 
    .when('/myurl', { 
    templateUrl: 'mytmpl.html', 
    controller: 'MyCtrl' 
    }); 

nên phản ứng khi url của tôi là http://mysite.com/hello/world/myurl

Làm thế nào tôi có thể làm điều đó?

Trả lời

6

Thêm cơ sở tag vào file HTML chính đang được phục vụ khi người dùng điều hướng để http://example.com/hello/world:

<base href="/hello/world/" /> 

Thông tin thêm có thể được tìm thấy tại Developer Guide/Using $location

+0

Thay đổi của cơ sở trang web không phải là đúng quyết định. Tôi muốn làm một cái gì đó như 'Backbone.history.start ({pushState: true, root:"/public/search/"})'. Có thể không? – ValeriiVasin

+0

Tôi không quen với các phương pháp Backbone. Và bạn không giải thích tại sao giải pháp thẻ cơ sở không phải là quyết định đúng? – Stewie

+0

Nó thay đổi hành vi của tất cả các tĩnh .. Tôi muốn thay đổi cơ sở chỉ cho router. – ValeriiVasin

0

Thêm một basetag cũng tạo ra vấn đề, thời gian gấp đôi được nối thêm.

Bằng cách thêm một cho root, trong mẫu url như sau: templateUrl: (.) ​​'./mytmpl.html' - giải quyết các vấn đề

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