$ statechangestart在事件angularjs上具有参数变量



我正在将一个parms对象obj从ui-serf细节传递到一个转到另一个状态createstep1的陈述,我以两个状态的参数设置了parms obj和在运行中在app.js中的功能,我再次将params与toprams一起放置如下:

myApp.run(function($rootScope, $state) {
$rootScope.$on('$stateChangeStart', function(event, toState,toParams) {
if(toState.name =='stateDetail'){
        console.log("toParams "+toParams);
            $state.go('createStep1',{OBJ:toParams});
             event.preventDefault();
        }
}}

在createstep1的控制器中,param obj未定义,但在on方法中,它在toparams中。

这是状态:

state('stateDetail', {
  url: '/stateDetail',
  views: {
    '': {
      templateUrl: 'stateDetail.html',
      controller: 'DetailsController'
    },
  },
  params: {
      OBJ: null
  }
})

state('createStep1', {
  url: '/createStep1',
  views: {
    '': {
      templateUrl: 'createStep1.html',
      controller: 'createStep1Controller'
    },
  },
  params: {
      OBJ: null
  }
})

在HTML页面:

<a  ui-sref="stateDetail({OBJ: obj})"   >{{obj.id}}</a>

任何想法我该如何解决此问题?

必须为$ state.go('CreateStep1',{obj:toparams.obj});

最新更新