2014-10-16 109 views
0

我无法获得$state.go('dashboard')的工作。我得到的错误:

Failed to instantiate module app.controllers.login due to: 
Error: [$injector:nomod] http://errors.angularjs.org/1.2.19/$injector/nomod?p0=app... 

当定义的路线我没有得到任何错误。我做错了什么?

我也试过$stateProvider并得到相同的错误。

这是我的控制器...

App.js

var app = angular.module('dashboardApp', [ 
    "ngRoute", 
    "ngAnimate", 
    "ngTouch", 
    "mobile-angular-ui", 
    "ui.router", 
    "app.factories.storage", 
    "app.controllers.main", 
    "app.controllers.login", 
    "angular-loading-bar" 



]); 

app.config(function ($stateProvider, $urlRouterProvider) { 

    // For any unmatched url, send to /route1 
    $urlRouterProvider.otherwise("/"); 

    $stateProvider 
     .state('login', { 
      url: "/", 
      templateUrl: STATIC_URL + "html/company/login.html", 
      controller: "loginController" 


     }) 
     .state('dashboard', { 
      url: "/dashboard", 
      templateUrl: STATIC_URL + "html/company/dashboard.html" 


     }) 


}); 

控制器:

回答

1

没有定义过的路线。

angular.module('app.controllers.login', ["app.factories.http","ui.router"]) 
    .config(function($stateProvider, $urlRouterProvider) { 
     $stateProvider 
       .state('dashboard', { 
        url: "/dashboard", 
        views: { 
         "view": { 
          templateUrl: "views/something.html" 
         } 
        } 
       }); 

这应该工作!

如果你想要像重设路线到登录页面,我以为,你也可以添加在配置如下:

$urlRouterProvider.otherwise("login"); 

这样做是什么,如果有人试图去一条不存在的路线会将您路由回登录。

注:

如果您正在使用$q$timeout,请尝试使用$location.path('/dashboard');代替。在那个特定的行为

更多信息:https://github.com/angular-ui/ui-router/issues/916

+0

这是我的控制器不是我app.js和app.js包括已经ui.router – Prometheus 2014-10-16 12:18:04

+0

我可以问你为什么定义[“ui.router”]中你的控制器呢?你的app.js是我提供的代码吗? – Billy 2014-10-16 12:19:28

+0

我想按名称重定向到一个页面名称,没有定义路线:) – Prometheus 2014-10-16 12:24:15

相关问题