pushpageは問題なくできるのですが、popPageしたら以下のエラーが出ます
Uncaught TypeError: Cannot read property 'navigator' of undefined
構造は以下のようなものでして(meta等は割愛)
//index.html <!DOCTYPE HTML> <html ng-app="myApp"> <script>function Func1(){pages.pushPage(Main.html);}</script> <script>function Func2(){pages.popPage();} </script> <body> <ons-navigator page="./Login.html" var ="pages"></ons-navigator> </body>
まずons-navigatorを使ってログインページに移動しています。
ログインページではFunc1を使ってMainページに移動します。(ここはエラーなし)
そしてMainページでFunc2を使ってログインページに戻ります。(ここで上記エラー)
スクリプトの定義位置などを色々ためしてみてはいるのですが、ずっとこの状態です。
<!DOCTYPE HTML> <html ng-app="myApp"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> <head> <script src="components/loader.js"></script> <script src="lib/angular/angular.min.js"></script> <script src="lib/onsenui/js/onsenui.min.js"></script> <script src="lib/onsenui/js/angular-onsenui.min.js"></script> <script src="https://cdn.socket.io/socket.io-1.3.5.js"></script> <link rel="stylesheet" href="components/loader.css"> <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> <link rel="stylesheet" href="css/style.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script> <script> document.addEventListener("backbutton", function(){ console.log("Back");pages.popPage();}, false); var app = ons.bootstrap('myApp', []); app.controller('DialogController', function($scope) { $scope.dialogs = {}; $scope.show = function(dlg) { if (!$scope.dialogs[dlg]) { ons.createDialog(dlg).then(function(dialog) { $scope.dialogs[dlg] = dialog; dialog.show(); }); } else { $scope.dialogs[dlg].show(); } } }); app.controller('beancrecre',function($scope){ $scope.Funcz=function(){ Func(); }; $scope.pop=function(url){ pages.popPage(); }; }); </script> <script src="serv/A.js"></script> <script src="serv/B.js"></script> </head> <body> <ons-navigator page="./login.html" var ="pages"></ons-navigator> </body> </html>
login.html
<ng-include src="'login.html'"></ng-include> <ons-template id="login.html" > <ons-page > <ons-toolbar style="background-color:#009688;"> <div class="center">My App</div> </ons-toolbar> <ons-tabbar position="bottom" > <ons-tab page="ranking.html" label="A" icon="ion-lightbulb" style="background-color:#009688;" active></ons-tab> <ons-tab page="create.html" label="B" icon="ion-plus-round" style="background-color:#009688;"></ons-tab> <ons-tab page="star.html" label="C" icon="ion-android-star" style="background-color:#009688;"></ons-tab> <ons-tab page="home.html" label="D" icon="ion-ios-home" style="background-color:#009688;"></ons-tab> </ons-tabbar> </ons-page> </ons-template>
回答2件
あなたの回答
tips
プレビュー