angularjs返回上一页state.go stateParams

3 state param angularjs angular-ui-router

您好所有我想知道如何使用state.go stateParams或在两个不同页面之间返回AngularJS的上一页,但是我尝试了此操作,但变量为空:

   $ctrl.next = function(){

        $state.go('modiffili', {object:'test'});

    };
Run Code Online (Sandbox Code Playgroud)

这是我第二页的控制器:

(function (angular) {
'use strict';

modiffiliCtrl.$inject=['$state','$stateParams'];


function modiffiliCtrl($state,$stateParams) {
    var $ctrl = this;


    console.log('modiffiliController');
    console.log($state.params.object);
   $ctrl.retour = function () {
        $state.go('^');
}
Run Code Online (Sandbox Code Playgroud)

我不能使用rootScope。谢谢你帮我!

小智 5

您可以收听$stateChangeStart事件,并保存先前状态的名称和参数,以便能够返回到该事件。

$rootScope.$on('$stateChangeStart', function (event, toState, toStateParams, fromState, fromParams) {
   $rootScope.previousState = fromState;
   $rootScope.previousStateParams = fromParams;
});
Run Code Online (Sandbox Code Playgroud)

然后,$state.go($rootScope.previousState, $rootScope.previousStateParams) 如果需要,您可以致电