2016-05-06 55 views
1

對於我而言,我無法在我的index.html的ui視圖中加載任何內容。我在另一個項目&中使用AngularJS/Ui-Router。這實際上是我目前項目中的一切。AngularJS UI路由器沒有進入默認狀態

它工作時,我把ng-controller='ResumeCtrl'<span>

我沒有在控制檯中發現任何錯誤,但是我確實看到了我的App Loaded [ null ] console.log。

我看過至少10個不同的UI路由器教程&我真的簡化了這一點,並沒有得到任何地方。我花了最後12小時看這個,我可能錯過了一些很小的東西,但在這一點上,我沒有看到它。 :(

這是我的jsfiddle:https://jsfiddle.net/L5csekpq/2/

的index.html:

<body ng-app="wmApp"> 
    <h1>WM TEST</h1> 

    <div><a href="#/resume">Resume</a></div> 

    [<span ui-view></span>] 

    <script type="application/javascript" src="/lib/lib.js"></script> 
    <script type="application/javascript" src="/wm.js"></script> 
</body> 

lib.js是繁重的concat /精縮的亭子加載angular.js的(1.5.5)/角UI- route.js(0.2.18)

這是我所有的JS文件的咕嚕concat,則上述鏈接爲wm.js:

angular.module('wmApp', [ 
    'ui.router', 
    'wmApp.wmConstants', 
    'wmApp.ResumeController' 
]) 

.run(['$rootScope', '$location', '$state', function (
    $rootScope, 
    $location, 
    $state 
) { 
    console.log ('App Loaded [', $location.state(), ']'); 
    $rootScope.$on("$stateChangeError", console.log.bind(console)); 
}]) 
; 
angular.module('wmApp.wmStates', []) 

.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('home', { 
     url: '/home', 
     template: '<h3>STATE SUCCESSFUL</h3>' 
     }) 
     .state('resume', { 
     url: '/resume', 
     template: '<h3>{{ data }}</h3>', 
     controller: 'ResumeCtrl' 
     }) 
    ; 

    $urlRouterProvider.otherwise('/home'); 
}]) 
.run(['$state', function($state) { 
    console.log('Current State: ', $state.current); 
}]) 
; 


angular.module('wmApp.wmConstants', []) 

.constant('wmConstants', { 
    sample: { 
    api: { 
     url: 'http://api.sample.com', 
     key: 'xxxxxx' 
    } 
    } 
}); 

angular.module('wmApp.ResumeController', []) 

.controller('ResumeCtrl', ['$scope', 'wmConstants', function($scope, wmConstants) { 
    console.log('ResumeCtrl', wmConstants.sample.api.url); 

    $scope.data = 'omg data'; 
}]); 

回答

3

您的問題是您忘記聲明模塊wmApp.wmStates是主應用程序模塊需要的模塊。

此:

angular.module('wmApp', [ 
    'ui.router', 
    'wmApp.wmConstants', 
    'wmApp.ResumeController' 
]) 

應該是這樣的:

angular.module('wmApp', [ 
    'ui.router', 
    'wmApp.wmStates', 
    'wmApp.wmConstants', 
    'wmApp.ResumeController' 
]) 
+0

OMGOMGOMG @蘇尼爾-d。哎呀!我覺得自己像個白癡,有點小。謝謝! – cmeza