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

Posted

技术标签:

【中文标题】Ionic Framework:无法从我的控制器重定向到另一个页面?【英文标题】:Ionic Framework: Can't redirect to another page from my controller? 【发布时间】:2015-02-20 20:11:01 【问题描述】:

在我的控制器中单击时无法让我的应用切换到另一个页面。如果有人能告诉我我在这里遗漏了什么或做错了什么,我将不胜感激!

这是我的 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 中更新的控制器: 不再给我一个“未定义的错误”,而是什么都不做?我不知道我是否完全理解如何注入 $scope。

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

是的,试过了。它摆脱了“未定义的错误”,但按下时什么也不做? 只是为了测试,如果您在运行 ionic serve 时在浏览器中输入“localhost.../mainmenu”,是否会加载正确的页面?

以上是关于Ionic Framework:无法从我的控制器重定向到另一个页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Angular Ionic 从我的 Firebase 实时数据库中获取一项

Play Framework 1.2.7 将表单值传递给控制器

从 ASP.NET MVC 控制器重定向到外部 URI

Ionic Framework - 在移动设备上查看

Entity Framework 4 的数据库迁移

文件上传进度条干扰控制器重定向