AngularJS+;PhoneGap,路由不';行不通

AngularJS+;PhoneGap,路由不';行不通,angularjs,cordova,ngroute,Angularjs,Cordova,Ngroute,当我使用phonegap时,我在移动电话上遇到路由问题 在浏览器上路由可以工作,但在移动设备上不工作 如果有任何问题,我可以提供更多的代码 route.js: app.config(['$routeProvider','$locationProvider','$compileProvider', function($routeProvider,$locationProvider,$compileProvider) { $routeProvider .when('/', {

当我使用phonegap时,我在移动电话上遇到路由问题

在浏览器上路由可以工作,但在移动设备上不工作

如果有任何问题,我可以提供更多的代码

route.js:

app.config(['$routeProvider','$locationProvider','$compileProvider', function($routeProvider,$locationProvider,$compileProvider) {

    $routeProvider
    .when('/', {
        templateUrl: '../login.html',
        controller: 'loginController'
    })
    .when('/home',{
        templateUrl:'../home.html',
        controller:'homeController'
    })
    .when('/profile', {
        templateUrl:'../myprofile.html',
        controller:'profileController'
    })
    .when('/reservations',{
        templateUrl:'../reservations.html',
        controller:'reservationController'
    })
    .when('/ordernow',{
        templateUrl:'../ordernow.html',
        controller:'ordercontroller'
    })
    .otherwise({
        redirectTo: "/home"
    }); 

    $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
    $compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
}]);

经过几个小时的挣扎:


解决方案:经过几个小时的努力,从templateUrl中删除“./”


解决方案:从templateUrl中删除“./”

我想这个问题可能早就解决了,但我在angular 1.6和cordova android应用程序中遇到了类似的问题

我为templateUrl使用了正确的路径,但路由仍然不起作用

在花了一整天的时间翻阅不同的文件,尝试不同的东西之后,我偶然发现了一个小秘密。我使用谷歌chrome inspect调试cordova应用程序,发现应用程序URL为

file:///android_asset/www/index.html#!/
当我导航到另一个页面时,我会得到URL

file:///android_asset/www/index.html#!/#%2faccounts
然后在调查的时候,我偶然发现

在配置路由器时,我使用了以下命令

$locationProvider.hashPrefix('');
这似乎解决了我的问题。下面的代码片段:

var prakriya=angular.module(“prakriya”,“ngRoute]”);
config(函数($routeProvider,$locationProvider){
$locationProvider.hashPrefix(“”);//在此处添加了一行
$routeProvider
.当(“/”时{
templateUrl:“templates/workspace.html”,
控制器:“工作区”
});

});我想这个问题可能早就解决了,但我在angular 1.6和cordova android应用程序中遇到了类似的问题

我为templateUrl使用了正确的路径,但路由仍然不起作用

在花了一整天的时间翻阅不同的文件,尝试不同的东西之后,我偶然发现了一个小秘密。我使用谷歌chrome inspect调试cordova应用程序,发现应用程序URL为

file:///android_asset/www/index.html#!/
当我导航到另一个页面时,我会得到URL

file:///android_asset/www/index.html#!/#%2faccounts
然后在调查的时候,我偶然发现

在配置路由器时,我使用了以下命令

$locationProvider.hashPrefix('');
这似乎解决了我的问题。下面的代码片段:

var prakriya=angular.module(“prakriya”,“ngRoute]”);
config(函数($routeProvider,$locationProvider){
$locationProvider.hashPrefix(“”);//在此处添加了一行
$routeProvider
.当(“/”时{
templateUrl:“templates/workspace.html”,
控制器:“工作区”
});
});