2016-08-29 1 views
0

Ich versuche, einen Controller zu diesem Zustand hinzufügen, aber sobald ich das "ng-Controller" -Attribut hinzufügen, funktioniert dieser Zustand nicht mehr. Ich muss einen Benutzer anmelden, sobald es durch Firebase autorisiert ist, aber ich kann dies aufgrund dieses Problems nicht tun. Habe die App bereits mit ng-app initialisiert.State stop funktioniert, sobald ich ng-controller

<!--Sign In--> 
    <script type="text/ng-template" id="signin.html"> 
     <ion-view view-title="Sign In"> 
     <ion-content ng-controller="loginCtrl"> 
      <form name="login" novalidate> 
      <div class="list"> 
      <label class="item item-input item-stacked-label"> 
       <span class="input-label">Email</span> 
       <input type="email" placeholder="[email protected]" name="email" ng-model="email" ng-minlength="5" required> 
      </label> 
      <label class="item item-input item-stacked-label"> 
       <span class="input-label">Password</span> 
       <input type="password" placeholder="******" name="pass" ng-model="pass" ng-minlength="6" required> 
      </label> 
      </div> 
      <div class="padding"> 
      <p ng-show="login.email.$error.required && login.email.$dirty && login.email.$touched">*Email is required</p> 
      <p ng-show="login.email.$invalid && !login.email.$pristine">*Email not valid</p> 
      <p ng-show="login.pass.$error.required && login.pass.$dirty && login.pass.$touched">*Password is required</p> 
      <p ng-show="login.pass.$error.minlength">*Password must be longer than 6 characters</p> 
      </div> 
      <div class="padding"> 
      <button class="button button-block button-royal" ng-disabled="login.$invalid">Sign In</button> 
      </div> 
     </form> 
     </ion-content> 
     </ion-view> 
    </script> 
    <!--End Sign In--> 

Und dies ist der js-Code für Staaten

app.config(function($stateProvider, $urlRouterProvider){ 
    //main route 
    $stateProvider.state("main",{ 
    url: "/", 
    templateUrl: "main.html" 
    }); 

    //signin route 
    $stateProvider.state("signin",{ 
    url: "/signin", 
    templateUrl: "signin.html", 
    controller: "loginCtrl" 
    }); 

//signup route 
    $stateProvider.state("signup",{ 
    url: "/signup", 
    templateUrl: "signup.html" 
    }); 

    $urlRouterProvider.otherwise("/"); 
}) 
+0

Es sieht so aus, als würden Sie 2 mal den gleichen Controller für die gleiche Ansicht deklarieren: einen in der Routenkonfiguration, einen im HTML. – Dario

+0

Ich habe versucht, Controller separat auf app.js und html zu deklarieren. Immer noch nicht funktioniert. Es beginnt sich seltsam zu verhalten. Wenn ich auf die Route gehe und zurückkehre, öffnet sich die Route. –

Antwort

0

-Controller hat einmal erklärt werden, und es wäre sauberer in der Config function.So entfernen ng-Controller = "loginCtrl" erklären aus signin.html

+0

tat ich. Immer noch das gleiche Problem. Das Verhalten wird merkwürdig. Es öffnet sich nicht, wenn ich auf den Knopf klicke, aber wenn ich in einen anderen Zustand gehe, öffnet es sich mit ihm –

Verwandte Themen