質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

2回答

3651閲覧

push-pageの使い方が分からない

Foxy

総合スコア43

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2017/04/22 02:16

###前提・実現したいこと
MonacaでOnsenui v2を用いてアプリ開発をしていて、<ons-button>の中にpush-pageを記述して画面遷移をしたいのですが、ボタンを押しても反応しません。
onclick=pushPage(pageUrl, [options])で画面遷移をする方法を教えていただけると嬉しいです。

###該当のソースコード

<!DOCTYPE HTML> <html> <head> <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'"> <script src="components/loader.js"></script> <script src="lib/onsenui/js/onsenui.min.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"> </head> <body> <ons-navigator id="navigator" page="page1.html"></ons-navigator> <ons-template id="page1.html"> <ons-page> <ons-toolbar> <div class="center">Navigator</div> </ons-toolbar> <div style="text-align: center"> <br> <ons-button onclick="myNavigator.pushPage('page2.html')"> Push Page 2 </ons-button> </div> </ons-page> </ons-template> <ons-template id="page2.html"> <ons-page> <ons-toolbar> <div class="left"><ons-back-button>Back</ons-back-button></div> <div class="center">Page 2</div> </ons-toolbar> <div style="text-align: center"> <h1>Page 2</h1> <ons-button onclick="myNavigator.popPage()"> Pop Page </ons-button> </div> </ons-page> </ons-template> </body> </html>

###試したこと
MonacaのテンプレートではJSを使って画面遷移をしていたのですが、遷移アニメーションの変更方法が分からないのと、記述量が増加するためソースが理解しにくくなりそうだったので使わない方針にしました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

確認したところ、
myNavigator.

document.querySelector('#navigator').
にしたら動きました。

きっと
https://ja.onsen.io/v2/docs/guide/js/#-
要素を理解する
のところの
var myNavigator = document.querySelector("#my-navigator"); // または、getElementById("my-navigator") も使用できます。
の部分を十分に理解せずに移植したのではと思います。

投稿2017/04/24 08:01

rururu3

総合スコア5545

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

myNavigator.pushPageではなく、navigator.pushPageとしてみてはいかがでしょう?
idをnavigatorという名称で宣言されていますので。

なお、ons-navigatorは何故かidで宣言した名称で変数として扱えるようですが、リファレンスに記載がありません。
とりあえず上記のコードで動くようになったとしても、正規の方法ではないかもしれないことは認識の上でご利用下さい。

ご参考→リンク

投稿2017/04/22 13:58

編集2017/04/23 00:34
akabee

総合スコア1947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問