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

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

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

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

HTML

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

Monaca

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

Q&A

解決済

2回答

1047閲覧

1つのHTMLファイルを使いまわし外部データファイルのみ変える方法

jun9

総合スコア23

AngularJS

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

HTML

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

Monaca

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

0グッド

0クリップ

投稿2021/01/23 12:08

前提・実現したいこと

当方現在Monacaを用いて英語の並び替え問題を作成しております。
問題の構成は全部で20章を準備し、1章30問作成する予定です。

各章ごとに問題データファイル(questionService.js)を作成しますが、問題ページ(htmlファイル)の構成はすべて同じであるため、それぞれの問題データファイルに合わせ、問題ページ(htmlファイル)を作成するのは、非常に非効率であり、またファイルの数も膨大となります。

そこでHTMLファイルを繰り返し使用し、各章ごとに外部データのみ変えられるようにしたいのですが、方法が分かりません。

もしこの問題の解決法をご存じの方がいらっしゃいましたらご教示願いたいです。
よろしくお願い致します。

※説明が分かりづらく申し訳ありません。分かりやすいよう図を添付いたしましたのでご参考願います。

イメージ説明
イメージ説明

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

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

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

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

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

guest

回答2

0

コントローラ内で指定条件の問題ワード集を用意したデータベースから取り出し配列に代入します。
その配列を{{tango[i]}}のような形で出題テンプレートに盛り込んでふさわしい表示として、出題テンプレートを使いまわすようなコードを作ればできるでしょう。

投稿2021/01/24 14:15

seastar3

総合スコア2285

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

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

jun9

2021/01/29 11:03

top.htmlのリストからpushPageで出題テンプレートにページ遷移させる際、 myNavigator.pushPage('game.html',{questionsName:1}); のように条件のデータ受け渡しを行い、出題テンプレートページのコントローラーで me.questionsName = myNavigator.getCurrentPage().options.questionsName; switch(me.questionName){ case 1: questions = JSON.parse(JSON.stringify(questionsService.questions1)); break; case 2: questions = JSON.parse(JSON.stringify(questionsService.questions2)); break; } のように条件分岐をし、指定の問題リストをバインドさせることで解決しました。ご回答ありがとうございました。
guest

0

自己解決

top.htmlのリストからpushPageで出題テンプレートにページ遷移させる際、

myNavigator.pushPage('game.html',{questionsName:1});

のように条件のデータ受け渡しを行い、出題テンプレートページのコントローラーで

me.questionsName = myNavigator.getCurrentPage().options.questionsName;

switch(me.questionName){
case 1:
questions = JSON.parse(JSON.stringify(questionsService.questions1));
break;
case 2:
questions = JSON.parse(JSON.stringify(questionsService.questions2));
break;
}

のように条件分岐をし、指定の問題リストをバインドさせることで解決しました。

投稿2021/01/29 11:05

jun9

総合スコア23

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問