2014-10-16 146 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

相關問題