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 实时数据库中获取一项