AngularJS路由页面刷新永远不会加载

时间:2014-05-05 07:09:39

标签: angularjs angularjs-routing

我试图在salesforce本地混合Android应用程序中使用AngularJS,虽然角色代码的简单测试在firefox中运行,但当我在Android模拟器中运行它时会加载几分之一秒被替换为空白屏幕。

我注意到在路由后刷新页面(在第一页加载后转到[URL]/index.html#/)最终会得到一个永久的“ajax”加载'微调。我怀疑这可能是我问题的根源。我的路由代码如下所示:

var contactlistModule = angular.module("AugmentedContactList", ['ngRoute']);

contactlistModule.controller(ContactlistController);

contactlistModule.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/', {
        controller: 'ContactlistController',
        templateUrl: 'viewparts/contactlistview.html'
    }).when('/contact', {
        controller: 'ContactController',
        templateUrl: 'viewparts/contact.html'
    }).otherwise({
        redirectTo: '/'
    });
}]);

为什么会出现这种刷新错误?不应该index.htmlindex.html#/具有相同的效果吗?

1 个答案:

答案 0 :(得分:1)

我想在没有启用index.html的情况下前往html5Mode将无法正常工作。

您可以通过注入$locationProvider并将此行添加到您的配置来启用它:

$locationProvider.html5Mode(true);

但是,请注意,要启用html5模式,您需要将服务器配置为在每个URL请求中返回index.html(或任何主页)。

另见:

$locationProvider docs