2016-08-29 3 views
0

Я пытаюсь добавить контроллер в это состояние, но как только я добавлю атрибут «ng-controller», это состояние перестает работать. Мне нужно войти в систему для пользователя, как только это разрешено через firebase, но я не могу этого сделать из-за этой проблемы. Инициализировали приложение с помощью ng-app.Состояние перестает работать, как только я добавляю 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--> 

И это JS-код для состояний

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

Похоже, вы объявляете 2 раза один и тот же контроллер для одного и того же вида: один в конфигурации маршрута, один в HTML. – Dario

+0

Я попробовал объявить контроллер отдельно как на app.js, так и на html. Все еще не работал. Он начинает вести себя странно. Если я перейду на маршрут регистрации и вернусь, он откроет маршрут для входа. –

ответ

0

контроллер должен быть объявлен один раз, и это было бы чище, чтобы объявить в конфигурации function.So удалить нг-контроллер = «loginCtrl» из signin.html

+0

сделал. Еще одна проблема. Поведение становится странным. Он не открывается, когда я нажимаю кнопку, но когда я перехожу в другое состояние, он открывается вместе с ним –

Смежные вопросы