AngularJS UI路由器未进入默认状态
AngularJS UI-Router not getting to default state
就我的一生而言,我无法在index.html的ui视图中加载任何内容。我在另一个项目中使用AngularJS/Ui路由器&它起作用了。这就是我目前项目中的所有内容。
当我把ng-controller='ResumeCtrl'
放在<span>
上时,它就起作用了。
我在控制台中没有收到任何错误,但我确实看到了我的App Loaded [ null ]
控制台.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
是弓箭手加载的angular.js(1.5.5)/angular-ui-route.js(0.2.18)的凹陷/缩小
这是我所有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'
])
相关文章:
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- AngularJS UI路由器未进入默认状态
- AngularJS-检测到n分钟内没有任何操作并进入默认状态
- 使用 ui 路由器导航到非默认状态
- 使index.html的默认状态不带#something
- 将javascript(jQuery)对象属性返回到默认状态
- 如何在 ThreeJS 中应用矩阵转换并将结果设置为默认状态
- 按钮保持切换状态,防止默认
- Highcharts 图形默认系列填充颜色覆盖状态填充颜色(包括 jsfiddle)
- 如何使用 ui-router 将子项或孙项状态设置为默认索引状态
- 如何使JavaScript图像在手机上默认为悬停状态
- 如何确保链接'的默认操作始终处于禁用状态
- 禁用提交按钮作为默认状态,直到所有输入都填写在angular js中
- Angular JS Ng-switch默认状态
- 将Angular应用程序刷新到默认状态
- 从jquery ui按钮中删除悬停和默认状态
- 如果我们're处于默认状态,并且没有选择其他选项,则不执行任何操作.如果从其他选项中恢复到默认值,请采取措施
- AngularJS ui路由器默认状态用于没有URL的状态
- 为什么 ui-grid 重置为默认状态,设置过滤器后,还原状态后
- Angular UI-router在同一URL上的默认状态