AngularJS $ routeProvider不显示视图

时间:2015-11-19 00:48:52

标签: javascript angularjs

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

首次导航时,Angular /#/添加到我的网址,$location.path()读取空字符串。点击任何链接,例如,关于页面,Angular将/#/about添加到我的网址,页面正常加载。但是,如果由于任何原因,页面被重新加载(我点击重新加载或实时重新加载更新),/#/about仍保留在网址中,但ng-view是一个空元素。

配置:

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

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

此应用之前正常正常工作。我稍微尝试$locationProvider.html5Mode()并且不喜欢结果,所以我对git HEAD进行了硬重置。之后,它无法在任何机器,任何浏览器上按预期工作。

我不知道是什么原因造成的,或者还有什么可能需要解决这个问题。打开以尝试任何有效的方法。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

经过大量的挖掘,其他人和试验/错误后计算出来。

如果提前调用$scope.apply(),它可以取消在页面加载时触发的消化。在方法上使用$timeout解决了它。