在事件angularJS

时间:2017-09-24 19:17:37

标签: angularjs

我将一个parms对象OBJ从一个ui-serf详细信息传递给一个stateDetail,转到另一个状态createStep1,我在两个参数中设置parms OBJ和我在app.js中运行的函数i再次将params用于如下:

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>

我知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

它必须是$ state.go('createStep1',{OBJ:toParams.OBJ});