2016-04-04 19 views
1

das ist mein erstes Mal fragen auf stackoverflow also bitte bitte mit mir, wenn ich nicht klar genug mit dem Problem bin. Ich arbeite an einer Flugbuchung Web-Anwendung als ein Universitätsprojekt. Ich verwende MEAN Stack und die Seite ist auf 52.27.150.19 sichtbar. Früher funktionierte es auf PC und Mobiltelefon gut, bis ich anfing, ui-router-states zu verwenden, anstatt den $ routeProvider von ngRoute zu verwenden. Jetzt auf den Telefonen, führt es nicht einmal die Javascriptanimationen aus oder ruft irgendeine der ng-klickenfunktionen auf, wenn ich irgendwelche Knöpfe anklicke. Hier ist, was mein $ stateProvider tut:stateprovider auf Handys

App.config(function($stateProvider, $urlRouterProvider) { 
$stateProvider 

    .state('home', { 
     templateUrl: '../partials/home.html', 
     controller: 'ctrl' 
    }) 
    .state('away', { 
     templateUrl: '../partials/home.html', 
     controller: 'away' 
    }) 

.state('book', { 
    templateUrl: '/../partials/Book.html', 
    controller: 'bookingCtrl', 
}) 

.state('flightStatus', { 
     templateUrl: '../partials/flightStatus.html', 
     controller: 'flightStatusCtrl' 
    }) 
    .state('outgoing', { 
     templateUrl: '../partials/outgoingFlights.html', 
     controller: 'outgoingFlightsCtrl' 

    }) 
    .state('myFlightResults', { 
     templateUrl: '../partials/myFlightResults.html', 
     controller: 'myFlightResultsCtrl' 
    }) 
    .state('myFlights', { 
     templateUrl: '../partials/myFlights.html', 
     controller: 'myFlightsCtrl' 
    }) 
    .state('flightStatusResultsDate', { 
     templateUrl: '../partials/flightStatusResults.html', 
     controller: 'flightStatusResultsDate' 
    }) 
    .state('flightStatusResultsPlace', { 
     templateUrl: '../partials/flightStatusResults.html', 
     controller: 'flightStatusResultsPlace' 
    }) 
    .state('payment', { 
     templateUrl:'../partials/payment.html', 
     controller: 'paymentCtrl' 
    }) 
    .state('confirm', { 
     templateUrl:'../partials/confirmation.html', 
     controller: 'confirm' 
    }) 

    .state('return', { 

     templateUrl: '../partials/outgoingFlights.html', 
     controller: 'returnFlightsCtrl' 
    }); 
}); 

und ich habe dafür gesorgt, dass der Heimatstaat ist der inital Zustand:

App.run(function($state){ 
$state.go('home'); 
}) 

Es scheint, wie die Javascript stirbt nur auf Handys, eine Idee, wie man repariere das?

+0

Ich würde vorschlagen, sich ändern zu verwenden; oben in Ihrem App.config-Teil. Und fügen Sie das URL-Attribut für jeden Status hinzu. Und entfernen Sie Ihren letzten Codeblock App.run ... –

+0

ich agrre mit Niels, ui-router mayb stürzt ab, wenn es auf der app.run injiziert wird, weil er Anfangszustand nicht auflösen kann. Außerdem müssen Sie für eine korrekte Statistikkonfiguration mindestens einen Status mit der URL 'define' als Root-Status haben. – Walfrat

+0

Gibt es eine Möglichkeit, es zu beheben, ohne URLs hinzuzufügen? Der Hauptgrund, warum ich mich für den stateProvider entschieden habe, ist, dass die URL so bleiben würde, wie der Benutzer die Ansichten geändert hat. – Sayegh

Antwort

0

Jeder Staat eine URL-Attribut muss, ist meine Vermutung, so diese

.state('confirm', { 
     templateUrl:'../partials/confirmation.html', 
     controller: 'confirm' 
    }) 

dieses $ urlProvider.otherwise ("/ home")

.state('confirm', { 
     url: '/confirm', 
     templateUrl:'../partials/confirmation.html', 
     controller: 'confirm' 
    }) 
Verwandte Themen