我目前正在使用Ionic开发移动应用,并使用Phonegap进行构建。
我目前面临的问题与带参数的$ state.go有关。发生的事情是我想将组ID作为参数传递,当新屏幕加载时,它将获取该组ID并从后端检索将由服务处理的组信息。
注意:这在桌面上工作正常,但一旦我把它放在移动设备上就没有。
在这里查看我使用的代码
CreateGroupCtrl
angular.module('starter').controller('AppCtrl', function( $scope, $state, $ionicSideMenuDelegate, $rootScope, $pusher, $ionicModal, $interval, GroupService ){
$scope.submit = function(){
// Create Group function to post data to database and receiving group id in return (no issue here)
$state.go('app.manage-group', {id:group_id} ); // group_id is the id returned
};
});
ManageGroupCtrl
angular.module('starter').controller('ManageGroupCtrl', function( $scope, $state, $stateParams, $ionicLoading, $ionicViewService, GroupService ){
$ionicViewService.clearHistory;
alert( $stateParams.id );
});
我在app.js中的州定义
$stateProvider.state('app.manage-group', {
url: 'manage-group/:id,
views: {
'menuContent' : {
templateUrl: "templates/manage-group.html",
controller: "ManageGroupCtrl"
}
}
});
至于我的模板文件 - manage-group.html | nav-header应该按照定义显示这两个图标。
<ion-nav-buttons side="left">
<button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
</ion-nav-buttons>
<ion-nav-buttons side="right">
<button menu-toggle="right" class="button button-icon icon ion-person-stalker"></button>
</ion-nav-buttons>
所以我面临的情况是,ionicViewService不会清除历史记录并显示后退按钮(指向创建组),不加载任何$ scope元素,甚至无法触发警报。< / p>
我的猜测是可能存在Javascript错误。我尝试使用Phonegap Debug工具进行调试,但它没有显示任何错误,只显示成功事件的console.log消息。
所以我的问题是......
我是否正确传递参数?
如何调试和查看错误日志?
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:1)
你正确地传递状态参数,但它确实听起来像一个javascript错误导致你的代码中断。如果您运行的是Android v4.4 +,我建议您使用Chrome中的远程调试程序来检查您的设备。需要进行少量设置,但Chrome文档中对此进行了解释: