Angular JS,用$ state.go转到不同的州

时间:2015-10-07 07:40:43

标签: angularjs angular-ui-router state

我需要一些帮助。我是角色的新人。

我想从当前文件夹转到另一个文件夹中的另一个状态。 例如:

我有两个不同的文件夹,A和B.他们有config.ui-routing 但问题是,当我在文件夹B中声明$ state.go时,如何$ state.go到文件夹A.

这是我的代码:

//UI routing config in folder B
$stateProvider
     .state('login',{
        url:"/login",
        views:{
            "main":{templateUrl: prefixPath+"login.html"}  
   },
        resolve: loadSequence('loginController')
})

当我的控制器位置文件夹在文件夹A中时。 这是我的控制器代码:

// state in folder A Controller
$state.go('login');

错误说:

  

错误:无法从状态

登录

你们能帮助我吗?

2 个答案:

答案 0 :(得分:1)

如果我们声明两个模块而不创建依赖关系,则会经常发生这种情况。

a broken example

login中的 login.js 模块:

var app = angular
  .module('MyLoginPart', [
    'ui.router' 
  ])
.config(['$stateProvider',
    function ($stateProvider) {

        // States
        $stateProvider
          .state('login', {
              url: "/login",
              templateUrl: 'tpl.html',
          })
     }
])

这是主要模块(用作ng-app)

var app = angular
  .module('MyApp', [
    // missing dependency on above
    'ui.router' 
  ])

当我们导航到'登录'状态时,我们得到:

  

错误:无法从状态''

解析'login'

有一个固定的working example,我们声明依赖:

var app = angular
  .module('MyApp', [
    'MyLoginPart',
    'ui.router' 
  ])

这是有效的:

<a ui-sref="login">

答案 1 :(得分:-1)

我不知道,实际上我不理解拉丁爵士的回答,所以我试着制作硬编码,

window.location.href = '../admin/login';