添加ng-controller后,状态将立即停止

时间:2016-08-29 20:52:21

标签: angularjs ionic-framework angular-ui-router ionic-view

我正在尝试将控制器添加到此状态,但只要我添加“ng-controller”属性,此状态就会停止工作。我需要在通过firebase授权后立即登录用户,但由于此问题我无法这样做。已经使用ng-app初始化了应用程序。

<!--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="xyz@something.com" 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("/");
})

1 个答案:

答案 0 :(得分:0)

控制器必须声明一次,在config函数中声明会更清晰。删除ng-controller =&#34; loginCtrl&#34;来自signin.html