Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 注入$location时,$routeProvider不工作_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 注入$location时,$routeProvider不工作

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) {

我目前正在一个angularjs网站上工作,该网站有一个模块,每个选项卡有一个不同的控制器。我遇到的问题是,下面的代码块运行正常,用户被重定向到登录页面,控制器启动

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: