Javascript 注入$location时,$routeProvider不工作
我目前正在一个angularjs网站上工作,该网站有一个模块,每个选项卡有一个不同的控制器。我遇到的问题是,下面的代码块运行正常,用户被重定向到登录页面,控制器启动Javascript 注入$location时,$routeProvider不工作,javascript,html,angularjs,Javascript,Html,Angularjs,我目前正在一个angularjs网站上工作,该网站有一个模块,每个选项卡有一个不同的控制器。我遇到的问题是,下面的代码块运行正常,用户被重定向到登录页面,控制器启动 angular.module('ScheidsPortal', ['ngRoute', 'ui.grid', 'ui.grid.edit']) .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
angular.module('ScheidsPortal', ['ngRoute', 'ui.grid', 'ui.grid.edit'])
.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'app/login/login.html',
controller: 'loginController'
})
.otherwise('/');
$locationProvider.html5Mode(true);
}])
.run(function ($rootScope, Interface) {
});
但是,在run函数中插入$location
时:
.run(function ($rootScope, Interface, $location) {
路由功能停止工作,未使用重定向,并且控制器未加载。在控制器中使用$location
实例不会产生任何问题
缺少什么?我找到了解决我自己问题的方法:在index.html中,我使用了一个名为“menu”的组件作为我的应用程序的根
<body>
<menu></menu>
</body>
是菜单组件模板的一部分。
由于此组件有时不呈现,因此$routeProvider并不总是加载。将
放在index.html中效果很好
在plunker中,您可以看到它工作:在控制台日志中,它显示“登录控制器”,显示正在加载控制器。(不知何故,html没有显示在页面中,但在开发人员控制台F12中,您可以看到html代码)cosole中的错误是什么?登录完全为空,没有警告或错误为您的问题创建一个plunker我创建了一个plunker: