基本上,当我在浏览器中导航到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设法删除了我的部分标题。 .-。
答案 0 :(得分:0)
我认为您应该可以在app.run中调用$ location.path(' /'),以便在角度加载后进行导航。
答案 1 :(得分:0)
经过大量的挖掘,其他人和试验/错误后计算出来。
如果提前调用$scope.apply()
,它可以取消在页面加载时触发的消化。在方法上使用$timeout
解决了它。