Cordova + AngularJs路由不起作用

3

我们使用Cordova/Phonegap与AngularJs并尝试使用路由。但是路由不起作用,视图没有改变,并在控制台中出现以下错误:

无法加载网页,出现错误:请求的URL在此服务器上未找到。

我们的路由控制器如下:

var app = angular
.module('myApp', [])
.config(function ($routeProvider, $compileProvider) {

    $routeProvider.when('/', {
        templateUrl: 'index.html'
    }).when('/HomeScreen/:id', {
        templateUrl: 'app/views/homeScreen.html'
    }).otherwise({
        redirectTo: '/'
    });

    $compileProvider.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|tel):/);
});

当我们更改.otherwise({ redirectTo: '/HomeScreen/1'})时,它可以起作用,但是index.html中具有相同href (/HomeScreen/1)的锚点不起作用。我们尝试过Html5模式和hashbang模式,但都无法解决问题。我们使用的是angularjs版本1.0.7。

如果不打扰的话,你能不能把“index.html”的内容包含进来? - André Dion
实际上,如果你将/HomeScreen/:idtemplateUrl更改为'views/homeScreen.html'(省略'app/'部分),它是否能正常工作? - André Dion
1
等等,当'/'时它就是你的index.html吗?如果index.html是一个部分文件,那么主页面是什么?在jsfiddle上发布代码示例? - Noogen
这个问题有解决方案了吗?一直被同样的错误阻塞着... - ericpeters0n
你找到解决方案了吗?我也有同样的问题。 - Erdem Güngör
1个回答

0

很可能问题是# /使一些浏览器混淆了。这可能会有所帮助:

$locationProvider.html5Mode(true);

这将使用推送状态来进行导航。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接