【问题标题】:Cordova + AngularJs routing not workingCordova + AngularJs 路由不起作用
【发布时间】:2013-08-20 10:43:32
【问题描述】:

我们正在使用带有 AngularJs 的 Cordova/Phonegap 并尝试使用路由;路由不起作用,它没有改变视图,并且在控制台中出现以下错误:

无法加载网页并出现错误:在此服务器上找不到请求的 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的内容加进去吗?
  • 其实,把/HomeScreen/:idtemplateUrl改成'views/homeScreen.html'(省略'app/'部分)是否有效?
  • 等一下,当'/'是你的index.html?如果 index.html 是部分的,那么主页面是什么?在 jsfiddle 上发布代码示例?
  • 有解决方案吗?阻止相同的错误...
  • 你找到解决办法了吗?我有同样的问题..

标签: javascript angularjs cordova


【解决方案1】:

问题很可能是 #/ 让一些浏览器感到困惑。这可能会有所帮助:

$locationProvider.html5Mode(true);

这将使用推送状态来代替导航。

【讨论】:

    猜你喜欢
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 2018-03-18
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多