2015-07-24 13 views
5

Pracuję nad aplikacji, która wymaga 2 streszczenie członkowskie z państwami zagnieżdżonych, poniżej znajduje się przykładowa konfiguracjajonowe-kątowe wielu zagnieżdżonych i abstrakcyjne stany

$stateProvider 
.state('app', { 
    url: "/app", 
    abstract: true, 
    templateUrl: "templates/menu.html", 
    controller: "AppController" 
}) 
.state('app.screenList', { 
    url: "/app/screenList", 
    views: { 
    'menuContent': { 
    templateUrl: "templates/screenList.html", 
    controller: "ScreenListController" 
    } 
    } 
}) 
.state('app.screen1', { 
    url: "/app/screen1", 
    views: { 
    'menuContent': { 
    templateUrl: "templates/screen1.html", 
    controller: "Screen1Controller" 
    } 
    } 
}) 
.state('app.subapp', { 
    url: "/app/subapp", 
    abstract: true, 
    views: { 
    'menuContent': { 
    templateUrl: "templates/subapp.html", 
    controller: "SubAppController" 
    } 
    } 
}) 
.state('app.subapp.screen1', { 
    url: "/app/subapp/screen1", 
    views: { 
    'subappContent': { 
    templateUrl: "templates/subappscreen1.html", 
    controller: "SubAppScreen1Controller" 
    } 
    } 
}) 

Lista screenList stan wyświetla ekrany do wyboru. Kiedy po nawigacja dzieje, wszystko działa poprawnie

screenList > screen1 Naciśnij klawisz, a następnie z powrotem subapp.screen1

Naciśnięcie powrotem na tym etapie prac.

Co ciekawe, gdy próbuję wykonać następującą nawigację, tył zatrzymuje się i nic się nie dzieje.

screenList > screen1 Naciśnij klawisz, a następnie z powrotem subapp.screen1 Naciśnij klawisz, a następnie z powrotem ponownie subapp.screen1 (Na tym etapie naciśnięcie klawisza z powrotem nie ma wpływu. Nawet aplikacja nie wyjść).

Jestem całkowicie nieświadomi tego, dlaczego jest dzieje się tak, że jedynym wnioskiem, do którego doszedłem, jest to, że jeśli spróbuję wejść do subapp.screen1, pojawia się problem. Jeśli przełączam się między subapp.screen1 i screen1, wszystko działa poprawnie.

Chcę, aby klawisz wstecz reagował niezależnie od tego, jak został zmieniony stan.

Odpowiedz

0

Na podstawie this post, w końcu sprawiłem, że wszystko działało.

W tabs.html Oświadczam kartę tak:

<ion-tab title="ServOOps Mobile" icon="ion-person-stalker" ui-sref="app.tabs.external-index"> 
<ion-nav-view name="tab-servicos"></ion-nav-view> 

I app.js, kładę tak:

.state('app', { 
    url: '/app', 
    abstract: true, 
    templateUrl: 'templates/menu.html', 
    controller: 'AppCtrl' 
}) 

    .state('app.tabs', { 
    url: "/tabs", 
    views: { 
    'menuContent': { 
     templateUrl: "templates/tabs.html" 
    } 
    } 
}) 

.state('app.tabs.external-index', { 
    url: '/external-index', 
    views: { 
     'menuContent': { 
      templateUrl: 'templates/external-index.html', 
      controller: 'ExternalIndexCtrl' 
     }, 
     'tab-servicos': { 
      templateUrl: 'templates/external-index.html', 
      controller: 'ExternalIndexCtrl' 
     } 
    } 
}) 

I to działa dobrze. Teraz mam menu boczne i moje zakładki na tej stronie.

Musisz powtórzyć to dla pozostałych zakładek.

Pamiętaj, że w tym miejscu łączę indeks zewnętrzny z kartami, więc teraz link do strony będzie #/app/tabs/external-index.html.