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

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

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

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

HTML

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

Monaca

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

Q&A

解決済

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

jun9
jun9

総合スコア23

AngularJS

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

HTML

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

Monaca

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

2回答

0グッド

0クリップ

814閲覧

投稿2021/01/23 12:08

前提・実現したいこと

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

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

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

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

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

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

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

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

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

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答2

1

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

投稿2021/01/24 14:15

seastar3

総合スコア2285

jun9👍を押しています

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

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; } のように条件分岐をし、指定の問題リストをバインドさせることで解決しました。ご回答ありがとうございました。

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

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

AngularJS

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

HTML

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

Monaca

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