2013-05-29 24 views
13

Im cố gắng để có lộ trình lồng nhau tôi làm việc nhưng nó đem lại cho tôi thời gian khó khăn cho hai ngày nay :(Ba tuyến mức độ lồng trong góc-ui-router

một mức độ hoạt động tốt

hai cấp độ hoạt động tốt

ba cấp độ không được làm việc!

thể ai hãy giúp tôi ra?

Cảm ơn trước

angular.module('settings', []).config(['$stateProvider', '$routeProvider', '$urlRouterProvider', function($stateProvider, $routeProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('settings', { 
      url: '/settings', 
      template:"Settings", 
      controller: function(){ 
       console.log('settings'); 
      } 
     }). 
     state('settings.branch', { 
      url: '/{branchId:[0-9]{1,8}}', 
      template:"Branch", 
      controller: function(){ 
       console.log('branch'); 
      } 
     }). 
     state('settings.branch.prop', { 
      url: '/prop', 
      template:"Property", 
      controller: function(){ 
       console.log('property'); 
      } 
     }); 
}]); 

'/ cài đặt' đang làm việc

'/ cài đặt/1234' đang làm việc

'/ cài đặt/1234/prop' không hoạt động, luôn luôn trả lại prevues nhà nước Chi nhánh '

+0

bạn có jsfiddle/plunker không? – Ven

+0

+1 khi cần fiddle/plunker. Phụ thuộc uirouter ở đâu? var myapp = angular.module ('myapp', ["ui.router"]) ????? – scalaGirl

Trả lời

12

Tôi đoán bạn đã không khai báo giao diện ui trong mẫu Chi nhánh

1

Tôi gặp vấn đề tương tự. Đối với settings.branch.prop, thử thiết url tới:

url: '/{branchId:[0-9]{1,8}}/prop' 
0

WE có một vấn đề tương tự. Chỉ cần tìm ra giải pháp (không phải là rất khá suy nghĩ)

Vì vậy, chúng tôi có

/b2c/applicationShow --> applicationShowController (b2c.applicationShow) with an /:id 

/b2c/applicationShow/9238490392084/details --> detailsController (b2c.applicationShow.details) 

/b2c/applicationShow/9238490392084/details/someApp --> someAppController (b2c.applicationShow.details.someApp) 

/b2c/applicationShow/9238490392084/details/someApp/someTab --> this has no controller, only declare the previous one as parent. 

Vậy làm thế nào đã làm chúng tôi về phía trước từ/B2C/applicationShow để /B2C/applicationShow/9238490392084/chi tiết/someApp/someTab (có là một bảng liệt kê tất cả ứng dụng và nhấp vào liên kết giả sử để đưa bạn tới tab cụ thể đó)

Chúng tôi chuyển tiếp từng cái một.

$state.go(b2c.applicationShow , {id: 9238490392084}) 

Sau đó, trong detailsController

$state.go(b2c.applicationShow.details.someApp); 

Sau đó, trong someAppController

$stage.go(b2c.applicationShow.details.someApp, {tab: someTab}); 

Về cơ bản máy nhà nước sẽ đi theo con đường cuối cùng, sau đó tiếp tục thêm. Vâng, như tôi đã nói, nó không đẹp nhưng đã hoàn thành công việc. Hy vọng nó giúp.

0

Hãy thử gói một div với thuộc tính ui-view xung quanh nội dung quan điểm chi nhánh như vậy,

<div ui-view> 
    branch content goes here ..... 
    ...... 

</div> 

đã làm các trick cho tôi!

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