[英]Redirect a state to default substate with UI-Router in AngularJS
[英]AngularJS UI-Router not getting to default state
对于我的生活,我无法在index.html的ui-view中加载任何内容。 我在另一个项目中使用AngularJS / Ui-Router并且它正在工作。 这实际上是我项目中的所有内容。
当我在<span>
上放置ng-controller='ResumeCtrl'
时,它工作ng-controller='ResumeCtrl'
。
我在控制台中没有收到任何错误,但我确实看到了我的App Loaded [ null ]
console.log。
我已经查看了至少10种不同的ui-router教程,我真的很简单,并没有得到任何地方。 我花了最后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
是bower加载的angular.js(1.5.5)/angular-ui-route.js(0.2.18)的grunt concat / minified。
这是我所有JS文件的grunt 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';
}]);
您的问题是您忘记将模块wmApp.wmStates
声明为主应用程序模块所需。
这个:
angular.module('wmApp', [
'ui.router',
'wmApp.wmConstants',
'wmApp.ResumeController'
])
应该是这样的:
angular.module('wmApp', [
'ui.router',
'wmApp.wmStates',
'wmApp.wmConstants',
'wmApp.ResumeController'
])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.