0

Ich habe ein Problem mit meiner Homepage und meinem Seitenmenü. Jedes Mal, wenn ich versuche, auf die Homepage zu gelangen, springt es zurück zu meiner "anderen" Ansicht. Wann immer ich die Implementierung des Menüs in der app.js entfernen, funktioniert meine Homepage gut. Anstatt das Starter-Menü https://github.com/driftyco/ionic-starter-sidemenu zu verwenden, entschied ich mich, eine leere Version zu verwenden, so dass ich so viel lernen kann, wie ich über Ionic wissen muss ... Das Folgende ist mein Code.Ionic Side Menu Issue

app.js

.config(function($stateProvider, $urlRouterProvider) 
    { 
    $stateProvider 
     .state('intial', { 
     url: '/', 
     templateUrl: 'auth/Walkthrough.html', 
     controller: 'WalkthroughCtrl' 
     }) 
     .state('login', { 
     url: '/login', 
     templateUrl: 'auth/Login.html', 
     controller: 'LoginCtrl' 
     }) 
     .state('sign', { 
     url: '/sign', 
     templateUrl: 'auth/SignUp.html', 
     controller: 'SignUpCtrl' 
     }) 

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

    .state('app.home', { 
    url: '/home', 
    views: { 
     'menuContent': { 
     templateUrl: 'app/Home.html', 
     controller: 'HomeCtrl' 
     } 
    } 
    }) 

    }); 

Home.html

<ion-view title="Home"> 
    <ion-pane class="animated fadeIn" style="background-color: #4da6b1"> 
    <ion-nav-bar align-title="center"> 
    <ion-nav-title> 
     <span style="color: white">Home</span> 
    </ion-nav-title> 
     <ion-nav-buttons side="left"> 
    <button menu-toggle="left" class="button button-icon icon ion-navicon-round" style="color: white; background-color:#028090;" ></button> 
    </ion-nav-buttons> 
    </ion-nav-bar> 



    <ion-content class="has-header" style="margin-top: 10px;" data-tap-disabled="true"> 
    <!-- <div class=".col" style=" margin-left: 2px;border: 1px solid white; width: 50%; height: 50%; border-radius: 5px;"> 
     </div> --> 

    </ion-content> 


    </ion-pane> 
</ion-view> 

menu.html

<ion-side-menus enable-menu-with-back-views="false"> 

    <ion-side-menu-content> 
    <ion-nav-bar class="bar-stable nav-title-slide-ios7"> 
     <ion-nav-back-button class="button-clear"><i class="icon ion-ios7-arrow-back"></i>Back</ion-nav-back-button> 
    </ion-nav-bar> 
    <ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view> 
    </ion-side-menu-content> 

    <ion-side-menu side="left"> 
    <header class="bar bar-header bar-stable"> 
     <h1 class="title">Left</h1> 
    </header> 
    <ion-content class="has-header"> 
     <ion-list> 
     <ion-item menu-close ng-click="login()"> 
      Login 
     </ion-item> 
     <ion-item menu-close href="#/app/search"> 
      Search 
     </ion-item> 
     <ion-item menu-close href="#/app/browse"> 
      Browse 
     </ion-item> 
     <ion-item menu-close href="#/app/playlists"> 
      Playlists 
     </ion-item> 
     </ion-list> 
    </ion-content> 
    </ion-side-menu> 
</ion-side-menus> 

Bitte helfen.

+0

können Sie einen Codepen/PLNKR machen ?? – macrog

+1

Alle Links in Ihrem Sidemenu verweisen auf Seiten, die in Ihrem Programm nicht vorhanden sind. –

+0

Ich habe gerade alle Links entfernt, aber immer noch nichts .... –

Antwort

1

In HTML-Seite-Taste müssen Sie nicht ng-click

Dies ist das Format für ionische Seitenmenüs

<ion-side-menu-content> 
    <!-- Main content, usually <ion-nav-view> --> 
    </ion-side-menu-content> 

    <!-- Right menu --> 
    <ion-side-menu side="right"> 
    </ion-side-menu> 

</ion-side-menus> 

Diese in Ihrem Controller sein sollte

function ContentController($scope, $ionicSideMenuDelegate) { 
    $scope.toggleLeft = function() { 
    $ionicSideMenuDelegate.toggleLeft(); 
    }; 
} 

Weitere Informationen zum ionischen Seitenmenü finden Sie unter this.

Auch in href="#/app/browse", href="#/app/search", href="#/app/playlists"

All Seite ist in Ihrem .config definiert so die Seiten erstellen und fügen Sie sie in Ihrem .config und Sie nicht alle href benötigen.

Für $ state.go ('home'); Sie sollten ui.router in Ihr Modul injizieren und angular-ui-router.min.js herunterladen und zu Ihrem Projekt hinzufügen oder this so aussehen, dass es funktioniert.

+0

Hey, ich habe die Links entfernt, weil ich sie nicht brauchte .. Und ich habe es versucht. aber immer noch nicht wollen. Mein Problem scheint mit dem Status 'app.home' zu sein, denn wenn ich den Status ändere, um ohne App und ohne die Ansichten zu Hause zu sein, wird es angezeigt, aber die Menüschaltfläche hat keine Funktion –

+0

@GregSithole Bitte aktualisieren Sie Ihre Frage so Ich kann verstehen oder eine Plunkr erstellen –

+1

Ja, ich verstehe, was Sie sagen, haben Sie den 'TemplateUrl' Pfad für zu Hause und auch senden Sie mir den Code für Ihren Controller, wo Sie den $ Zustand verwenden, ich werde es überprüfen. –