Ionic Framework:无法从我的控制器重定向到另一个页面?

时间:2015-02-20 20:11:02

标签: javascript angularjs ionic-framework

无法尝试让我的应用在我的控制器中点击切换到另一个页面。如果有人能指出我在这里遗失或做错的话,我真的很感激!

这是我的app.js     .config(function($ stateProvider,$ urlRouterProvider){

    $stateProvider

        .state('login', {
            url: '/',
            views: {
                'login': {
                    templateUrl : 'index.html',
                    controller: 'TestCrtl'
                }
            }
        })

        .state('userprofile', {
            url: '/mainmenu',
            templateUrl: 'views/main-menu/main-menu.html'
        })          

    $urlRouterProvider.otherwise('/');

    })

    .controller('TestCtrl',function($scope, $location) {

    $scope.testMove = function($scope, $location) {
        console.log("Button was pressed!");
        $location.transitionTo('/mainmenu');
    }
});

这是我的index.html

<body ng-app="app" animation="slide-left-right-ios7">


  <ion-view style="" title="MainMenu">
      <div class="bar bar-header bar-assertive">
          <h1 class="title">Home</h1>
          <a class="button icon-right button-clear ion-gear-a"></a>
      </div>
      <ion-content style="background-color: #e9efec" class="has-header" scroll="true" padding="true">
          <div align="center" style="padding: 15%">
              <img style="height: 60px; width: 180px" src="img/digicellogo.png">
          </div>
          <div style="" class="list card">
              <div class="item item-body">
                  <form >
                      <label class="item item-input">
                          <a style="padding-right: 5px" href="">
                              <img style="height: 50px; width: 50px; " src="img/username-logo.JPG">
                          </a>
                          <input type="text" placeholder="DigicelID">
                      </label>
                      <label class="item item-input">
                          <a style="padding-right: 5px" href="">
                              <img style="height: 50px; width: 50px; " src="img/password-logo.JPG">
                          </a>
                          <input type="text" placeholder="Password">
                      </label>
                      <div align="right">
                      <button class="button button-clear button-assertive">
                          Forgot Password?
                      </button>
                      </div>
                     <a class="button button-block button-assertive" ng-click="testMove()"  ng-controller="TestCtrl">
                          Login
                      </a>
                      <button class="button button-block button-assertive">
                          Sign Up
                      </button>
                  </form>

                  </div>
              </div>
      </ion-content>


  </body>

编辑:

我在App.js中更新的控制器: 不再给我一个&#34;未定义的错误&#34;但什么都不做?我不知道我是否完全理解如何注入$ scope。

 .controller('TestCtrl',['$scope', '$state', function($scope, $state) {

    $scope.testMove = function() {
        console.log("Button was pressed!");
        $state.go('userprofile');
    };
}])

1 个答案:

答案 0 :(得分:2)

尝试使用$state.go('userprofile');

而不是location.transitionTo('/mainmenu');

(记得将$state注入你的控制器进行测试)