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

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

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

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

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Onsen UI

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

Monaca

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

Q&A

0回答

1733閲覧

MONACAを使用したクイズアプリの実装にて、HTMLとJSの連携が上手くいかず、変数の取得・次画面遷移が出来ない

nakatoku

総合スコア12

JavaScript

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

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Onsen UI

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

Monaca

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

0グッド

0クリップ

投稿2019/06/30 06:09

編集2019/07/07 04:04

イメージ説明### 前提・実現したいこと

MONACAを使用したクイズアプリの実装について、うまく実行できず悩んでおります。
以下URLを参考にコーディングしているのですが、最後の結果ページがうまく起動しません。

HTMLとJSの連携がうまくいっていないようなのです。
実際の画面のハードコピーを添付いたしました。
非常に初歩的な内容かと思いますが、何卒よろしくお願いいたします。

●参考にしたURL
https://matorel.com/archives/792

発生している問題・エラーメッセージ

TypeError: myNavigator.getCurrentPage is not a function
LX2Uncaught Error: cordova already defined

該当のソースコード

●実装(JS)
app.controller('resultCtrl',function(){
var rate = 100;
this.items = myNavigator.getCurrentPage().options;
this.items.score = this.items.rightNum * rate;
this.backTop = function(){
myNavigator.pushPage('top.html', { animation: "none" });
};
});

●実装(HTML)
<ons-page>

<div ng-controller="resultCtrl as result"> <ons-toolbar> <div class="center"> 結果発表 </div> </ons-toolbar> <div class="result"> <p class="detail">{{result.items.totalNum}} 問中 {{result.items.rightNum}} 問正解</p> <p class="score"><span>{{result.items.score}}</span> point</p> </div> <div class="back-btn"> <ons-button modifier="large" ng-click="result.backTop()"> トップへ戻る </ons-button> </div> </div> </ons-page>

試したこと

①試したこと
他のページ遷移はうまくいっているので、変数名を変更して、同じ記述を実装してみましたが、うまくいかなかったです。
this.backTop = function(){
myNavigator.pushPage('game.html', { animation: "none" });
};

②以下をコメントアウトしたらうまく動くことがわかりました。
this.items = myNavigator.getCurrentPage().options;
this.items.score = this.items.rightNum * rate;

前の画面で、渡すために定義しているいかJSの内容が引き継げていないようです。
callback: function() {// NEXTがクリックされたら
if(me.items.currentNum >= me.items.totalNum-1){//全問終了したら
myNavigator.pushPage('result.html',{totalNum:me.items.totalNum,rightNum:rightNum});
}else{//まだクイズが残っていれば
me.items.currentNum++;
$scope.$apply(questionInit);//次のクイズ用意($scope.$applyを使うことにより強制的にデータバインドさせる)
}
}

補足情報(FW/ツールのバージョンなど)

以下でプロジェクトを作成しております。
新しいプロジェクトを作る → フレームワーク テンプレート → AngularJS → Onsen UI V2 Angular 1 Minimum

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問