Angular - 对象$ state,其属性current返回的值不同于$ state.current

时间:2017-05-22 23:04:05

标签: angularjs

我正在调试我的角度应用程序,我希望得到当前的$状态。

当我console.log($state)并在此处查看对象时,参数' current'看起来像

current:
  Object controller:"projectsController"
  controllerAs:"vm"
  name:"app.project"
  templateUrl:"app/controllers/project/template.html"
  url:"/Project/{id}"

然而,当我console.log($state.current)时,

以下是它的样子:

abstract:true
name:""
url:"^"
views:null

为什么他们不一样?我不明白。

我的代码只是

console.log($state.current)
console.log($state)

1 个答案:

答案 0 :(得分:0)

你需要等到$ state.current解决。试试这个: $timeout(function () { console.log($state.current, 'Should console now'); });

这里有更好的处理状态变化事件的方法:

$scope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) { // toState === $state.current });