重定向$ state.go不工作Ionic V1

时间:2017-08-16 04:50:37

标签: ionic-framework

您好我在登录页面上忘记了密码链接,但点击它时没有重定向到指定的页面。

//login.html

<div ng-controller="forgotPasswordController"><h6 class="forget-password"><a ng-click="forgetPassword()">Forgot Password ?</a></h6></div>

//app.js
.state('forgotpassword', {
      url: '/forgotpassword',
      templateUrl: 'templates/forgotpassword.html',
      controller: 'forgotPasswordController'         

  })
//Controller.js
app.controller('forgotPasswordController',function($scope,$state,$location,for  gotPasswordService,$ionicLoading,Flash, $http, $ionicPopup, sessionService)
{ 

$scope.data = {};        
$scope.userDetails =   sessionService.get('userDetails');
$scope.forgetPassword = function() {alert("qqq");
$state.go('forgotpassword');
     //$location.path( "/forgotpassword" );
    //$location.url('/forgotpassword');
}});

请有人可以帮我解决这个问题。我花了很多时间来做这个

提前致谢

1 个答案:

答案 0 :(得分:0)

而不是在html页面中调用该函数使用它。它会使用你的角度路由。

app.js

angular.module('starter', ['ionic'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    if(window.StatusBar) {
      StatusBar.styleDefault();
    }
  });
})
.config(function($stateProvider, $urlRouterProvider) {

  // Ionic uses AngularUI Router which uses the concept of states
  // Learn more here: https://github.com/angular-ui/ui-router
  // Set up the various states which the app can be in.
  // Each state's controller can be found in controllers.js
  $stateProvider

  // setup an abstract state for the tabs directive
      .state('login', {
        url: '/login',
        templateUrl: 'login.html',
        controller: 'LoginController'
      })

         .state('forgotPassword', {
          url: '/forgotPassword',
          templateUrl: 'forgotpassword.html',
          controller: 'forgotPasswordController'

      })

  // if none of the above states are matched, use this as the fallback
  $urlRouterProvider.otherwise('/login');
})
LoginController.$inject = ['$scope', '$state'];
function LoginController($scope, $state) {

    $scope.Login = function () {
        $state.go('login');
    }
}
angular.module('starter').controller('LoginController', LoginController);
forgotPasswordController.$inject = ['$scope', '$state'];

function forgotPasswordController($scope, $state) {

}
angular.module('starter').controller('forgotPasswordController', forgotPasswordController);

<强> forgotPassword.html

html code
<ion-view view-title="Forgot Password">
    <ion-content ng-controller="forgotPasswordController">
        test
        </ion-content>
        </ion-view>

<强>的index.html

<!DOCTYPE html>
<html>

  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title></title>

    <link data-require="ionic@1.0.0-beta.1" data-semver="1.0.0-beta.1" rel="stylesheet" href="http://code.ionicframework.com/1.0.0-beta.1/css/ionic.css" />
    <link rel="stylesheet" href="style.css" />

    <script data-require="ionic@1.0.0-beta.1" data-semver="1.0.0-beta.1" src="http://code.ionicframework.com/1.0.0-beta.1/js/ionic.bundle.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

    <script src="app.js"></script>
  </head>

  <body ng-app="starter">
    <ion-nav-bar class="bar-stable nav-title-slide-ios7"></ion-nav-bar>
    <ion-nav-view></ion-nav-view>
  </body>

</html>

<强>的login.html

<ion-view view-title="login">

      </ion-header-bar>
      <ion-content class="has-header"  ng-controller="LoginController">
        <div class="hero no-header flat">
            <div class="content">
                <div class="app-icon"></div>
            </div>
        </div>
        <br/>
        <form name="signinForm"  novalidate="" class="login" ng-submit="login(signinForm)">
            <div class="col col-center">
            <div class="list list-inset1">
                <label class="item item-input item-select slct-spc"  ng-class="{ 'has-error' : signinForm.userrole.$invalid && signinForm.$submitted, 'valid-lr' : signinForm.userrole.$valid && signinForm.$submitted}">
                <span class="item item-input item-select1"> <i class="icon ion-ios-people login-icon" style="color:white"></i></span>

                </label>
                <div class="form-errors" ng-show="signinForm.userrole.$error && signinForm.$submitted" ng-messages="signinForm.userrole.$error">  
                <div class="form-error" ng-message="required">This field is required</div>  
                </div>
                <label class="item item-input input-field" ng-class="{ 'has-error' : signinForm.username.$invalid && signinForm.$submitted, 'valid-lr' : signinForm.username.$valid && signinForm.$submitted}">

                    <i class="icon ion-person-stalker login-icon"></i>   <input type="text" name="username" placeholder="Email/Mobile" ng-model="data.username" ng-minlength="10" ng-maxlength="40" maxlength="40" required>

                </label>
                <div class="form-errors" ng-show="signinForm.username.$error && signinForm.$submitted" ng-messages="signinForm.username.$error">                    
                </div>
                <label class="item item-input input-field" ng-class="{ 'has-error' : signinForm.password.$invalid && signinForm.$submitted, 'valid-lr' : signinForm.password.$valid && signinForm.$submitted}">
                    <i class="icon ion-locked login-icon"></i> <input type="password" name="password" placeholder="Password" ng-model="data.password" ng-minlength="1" ng-maxlength="15" required>
                </label>
                <div class="form-errors" ng-show="signinForm.password.$error && signinForm.$submitted" ng-messages="signinForm.password.$error">                    
                </div> 
                </div>
            </div>

            <div class="clear"></div>

          <div class="padding"> 
                <button style="background-color:red;" class="button button-full button-assertive ink" type="submit">Login</button>
            </div>
             <h6 class="forget-password"><a href="#" ui-sref="forgotPassword" ui-sref-active="active">Forgot Password ?</a></h6>
        </form>
        </ion-content>
        </ion-view>