To jest mój układ aplikacji. Korzystam z routera Angular UI i chciałbym, aby paski boczne 1 i 2 były widokami. Pasek boczny 1 ma także menu u góry, którego strony chciałbym zostać przekierowane. Nie wiem, jak to ustrukturyzować za pomocą zagnieżdżone widoki i stany - czy ktoś może dać mi jakąś radę?
Odpowiedzi:
2 dla odpowiedzi № 1Jeśli dobrze rozumiem, strona wiki dla Wiele nazwanych widoków pomoże ci poprowadzić. Opisuje tam, w jaki sposób dany stan może być kierowany do różnych części interfejsu użytkownika za pomocą nazwanego ui-view
elementy.
Na przykład, jeśli Twoja strona miała:
<body>
<div ui-view="sidebar1"></div>
<div ui-view="main"></div>
<div ui-view="sidebar2"></div>
</body>
Wtedy możesz mieć stan docelowy jawnie dla każdej sekcji:
$stateProvider
.state("someState", {
views: {
"sidebar1": {
templateUrl: "someState-sidebar1.html",
controller: "controllerName"
},
"main": {
templateUrl: "someState-main.html",
controller: "controllerName"
},
"sidebar2": {
templateUrl: "someState-sidebar2.html",
controller: "controllerName"
}
}
});
Twoja aplikacja może znajdować się tylko w jednym stanie na raz, więc sparuj ją z działaniem dziedziczenia stanu. Stan nadrzędny może być kierowany na jeden z nazwanych widoków (np. sidebar1
) i pozwól, aby stan dziecka wypełnił się main
.
Mam nadzieję, że to zadziała.