位置变更后如何调用状态?

时间:2015-10-27 10:38:57

标签: javascript angularjs

我遇到了问题。我想进入另一个控制器的状态。我知道在这种情况下我必须更改位置以加载其他控制器但是如何告诉它进入该状态?

重要的是我不想在全球范围内这样做,因为我知道我可以$rootScope.$on('$locationChangeSuccess', function(e, newUrl, oldUrl){});并且它会起作用,但这次我只想这次做。

有没有人有类似的问题?或者知道我该怎么做?

@edit 其他可能有用的信息:

我有一个以上状态,默认状态不是我要输入的状态。我不能调用$ state.go()因为它会在我当前的控制器中加载这个状态,这不是我想要的效果。所以这就是我需要改变位置和状态的原因

1 个答案:

答案 0 :(得分:0)

不确定我是否理解这一点......

通常你定义一个这样的状态:

$stateProvider
.state('party', {
   url: '/party',
   templateUrl: 'party.html'
});

Frome the docs:

激活州有三种主要方式:

  1. 调用$ state.go()。高级便利方法。
  2. 单击包含ui-sref指令的链接
  3. 导航到与州相关联的网址
  4. 这意味着,您可以从代码中的任何位置调用`$ state.go(“party”)。视图将被加载,任何指定的控制器也将被加载

    您也可以在任何视图中执行<a ui-sref="party">Go To Party</a>,只要有人点击您获得相同的链接即可。

    使用$location导航到/party也会激活状态。