2014-10-04 14 views
10

Tôi đã chơi với giao diện người dùng-Router vì ngRoute không hoàn toàn bao gồm những gì tôi cần dựa trên các bố cục khác nhau yêu cầu nhiều chế độ xem lồng nhau. Những gì tôi không thể tìm ra trong UI-Router là làm thế nào để tải các khung nhìn lồng nhau mặc định mà không cần phải bấm vào một liên kết. Tôi đã tạo ra một ví dụ thô sơ về ý nghĩa của tôi trong một số plunkerUI-Router Cách tự động tải chế độ xem lồng nhau trong chế độ xem chính dưới dạng mặc định

Về cơ bản có hai tuyến đường chính trong mỗi có một vùng chứa chứa các chế độ xem lồng nhau. Tôi muốn tải một khung nhìn mặc định vào chúng mà không cần phải bấm vào một ui-sref.

<h1>Auth Panel</h1> <-- main route 1 
Just a container for login/forgot/reset 
<hr/> 
<a ui-sref="auth.login">Show Login</a><br> <-- can click to load nested view, but want to autoload 
How to show automatically /login within the panel <br> 
without having to click show login? 
<div ui-view></div> <-- child to autoload with /login 

Cảm ơn

+3

https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-set-up-a-defaultindex-child-state –

+0

Cảm ơn, đó là tuyệt vời . Không biết làm thế nào tôi bỏ lỡ điều đó. – mtpultz

Trả lời

12

On trạng cha mẹ của bạn thêm một param

.state('parentState', { 
//... 
    params: { 
     autoActivateChild: 'parentState.childState' 
    } 
//... 
}) 

Và thêm này ở đâu đó

$rootScope.$on('$stateChangeSuccess', function(event, toState){ 
    var aac; 
    if(aac = toState && toState.params && toState.params.autoActivateChild){ 
     $state.go(aac); 
    } 
}); 
+0

Trạng thái $ được xác định ở đâu? – HappyCoder

+0

Giải pháp tuyệt vời. Dọn dẹp. – Tyguy7

+0

HappyCoder, nó cần phải được tiêm bất cứ nơi nào bạn có xử lý sự kiện (đoạn mã thứ hai). Có lẽ trong định nghĩa mô-đun –

-1

Nếu bạn muốn di chuyển tự động sang trạng thái con mặc định khi tải phụ huynh, bạn có thể kích hoạt nhấp chuột vào số ui-sref cụ thể đó trong tầm kiểm soát của mình ler.

angular.element("#childElementId").trigger('click'); 
+0

Xin đừng ném mọi người ra khỏi con đường góc cạnh ... Tìm hiểu công cụ trước khi bạn đưa ra bất kỳ lời khuyên nào. –

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