表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
10/61

ionicを試す 5日目 文字列をユーザーが変更する

前回は、プログラムがセットした文字列を表示させました。


次はユーザの入力により文字列の変更を行ってみます。


まず、コマンドプロンプトを起動して以下の2つのコマンド入力してください。

(すでに起動しているならば不要です)


------------------------------------------

"cd c:\MyTest\test000"

"ionic serve"

------------------------------------------


続けてVisualStudioCodeで"c:\MyTest\test000"フォルダを開いて下さい。


今回変更するのは"src\app\home\home.page.html"のみです。


文字列を入力するためのInputBoxを画面に追加します。


せっかくですので、デザインに定評のあるionicコンポーネントのInputBoxと通常のInputBoxの両方を使用したいと思います。


以下にソースコードを示します。

---------------------------------------------------------------

<ion-content [fullscreen]="true">

 <div id="container">

  <!--表示文字列-->

  <p>{{dispText}}</p>

  <!--ionicコンポーネントのインプットボックス-->

  <ion-item fill="outline">

   <ion-input autofocus="true" [(ngModel)] = "dispText"></ion-input>

  </ion-item>

  <!--通常のインプットボックス-->

  <input [(ngModel)] = "dispText">

 </div>

</ion-content>

---------------------------------------------------------------


ionicコンポーネントは色々機能はあるのですが、その分、慣れるのに時間がかかるかも?


通常のインプットボックスは、安心感の代わりに若干やぼったいかもしれませんね。


さて、ユーザの入力です。


どちらのインプットボックスにも同じ記述があるのにお気づきでしょうか?


---------------------

[(ngModel)] = "dispText"

---------------------


この記述は、angularの機能の一つで双方向バインディングです。


Angular 日本語ドキュメンテーション-双方向バインディング

https://angular.jp/guide/two-way-binding


"dispText"は、前回"src\app\home\home.page.ts"で定義した変数ですね。


ソースコードを保存して、ブラウザアプリを更新しましょう。

(ソースコードを保存するだけでアプリは更新されます)


"src\app\home\home.page.ts"内のコンストラクタで"dispText"にセットした内容が、3か所に表示されています。

(<p>タグ内と2つのインプットボックスの3か所)


コンストラクタ内のセット記述

------------------------------------------

  //表示文字列のセット

  this.dispText = 'プログラムからセット';

------------------------------------------


ここで、どちらかのインプットボックスの記述を変更してみてください。


1か所変更するだけで、3か所とも同じ記述になるのが判ると思います。


これは単純な例ですが、Angularには便利で強力な機能があり、それを取りまとめてモバイルアプリへの筋道をつけるionicは使えるツールだと理解して頂けたと思います。


最後に、使い方の一例を紹介します。


2つ目の通常インプットボックスの記述の下に、以下のコードを追加してください。


------------------------------------------

  <!--エラーメッセージ-->

  <p *ngIf="dispText.length==0">未入力です!</p>

------------------------------------------


セーブしてブラウザアプリを更新してください。


この状態ではエラーメッセージは表示されませんが、どちらかのインプットボックスの中の文字を削除すると・・・


大きな文字で”未入力です!”と表示されました。

(dispTextの文字数が0ならば、エラーメッセージを表示するというコードです)


今回はここまで

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ