2016-05-06 59 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