离子 - $ state.go与params问题

时间:2015-02-06 05:21:07

标签: angularjs ionic-framework angular-ui-router

我目前正在使用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消息。

所以我的问题是......

我是否正确传递参数?

如何调试和查看错误日志?

任何帮助将不胜感激!

谢谢!

1 个答案:

答案 0 :(得分:1)

你正确地传递状态参数,但它确实听起来像一个javascript错误导致你的代码中断。如果您运行的是Android v4.4 +,我建议您使用Chrome中的远程调试程序来检查您的设备。需要进行少量设置,但Chrome文档中对此进行了解释:

https://developer.chrome.com/devtools/docs/remote-debugging