2016-05-26 23 views
0

私はphonegapを使用すると、携帯電話のルーティングに問題があります。AngularJS + 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):/); 
}]); 

答えて

2

ソリューション:削除 "../" templateUrl

1

から私は、この特定の問題が修正されている可能性があると思います長い前に、私は角度1.6とcordovaアンドロイドアプリと同様の問題を抱えていた。

templateUrlの正しいパスを使用していましたが、まだルーティングが機能していませんでした。

さまざまな文書を見て、さまざまなことを試してみると、私は小さな謎に遭遇しました。私は私が別のページに移動すると、私がつまずいた、という調査しながら、私はその後、URL

file:///android_asset/www/index.html#!/#%2faccounts 

を取得

file:///android_asset/www/index.html#!/ 

であることを点検し、Googleのクロムを使用して、コルドバのアプリをデバッグするとアプリのURLを見つけました。 this

$locationProvider.hashPrefix(''); 
ルータを設定しながら、私は次のように使用

これは私の問題を解決するように思えました。コードスニペット以下:

var prakriya = angular.module("prakriya",["ngRoute"]); 
 
prakriya.config(function($routeProvider, $locationProvider){ 
 
    $locationProvider.hashPrefix(''); //Added Line here 
 
    $routeProvider 
 
    .when("/", { 
 
    templateUrl: "templates/workspace.html", 
 
    controller: "workspace" 
 
    }); 
 
});

関連する問題