AngularJS$routeProvider未显示视图

AngularJS $routeProvider not displaying view

本文关键字:显示 视图 routeProvider AngularJS      更新时间:2023-09-26

基本上,当我在浏览器中导航到http://localhost:9000时,我会收到index.html页面上的内容,但ng视图仍然完全为空,尽管'/'指向了我的控制器/视图。

在第一次导航时,Angular不会将/#/添加到我的url中,而$location.path()读取一个空字符串。点击任何链接后,例如about页面,Angular将/#/about添加到我的url中,页面正常加载。然而,如果由于任何原因,页面被重新加载(我点击了重新加载或实时重新加载更新),/#/about将保留在url中,但ng视图是一个空元素。

配置:

.config(function ($routeProvider) {
  $routeProvider
    .when('/', {
      templateUrl: 'views/main.html',
      controller: 'MainCtrl'
    })
    .when('/about', {
      templateUrl: 'views/about.html',
      controller: 'AboutCtrl'
    })
    .otherwise({
      redirectTo: '/'
    });
})

我在应用程序中包含了ngRoute脚本已添加到索引中。

这个应用程序以前运行得很好。我用$locationProvider.html5Mode()做了一点实验,但不喜欢结果,所以我对数字HEAD进行了硬重置。在那之后,它在任何机器、任何浏览器上都无法按预期工作。

我不知道是什么原因造成的,也不知道还需要什么来解决这个问题。打开以尝试目前有效的任何操作。

编辑:StackOverflow设法删除了我的标题的一部分。.-。

我认为您应该能够在app.run中调用$location.path('/'),以便在角度加载后进行导航。

经过大量的挖掘、其他人和尝试/错误,终于找到了答案。

如果$scope.apply()被提前调用,它可以取消触发页面加载的消化。使用$timeout对该方法进行了求解。