シンプルな角度アプリを行う-第2部
4551 ワード
にprevious post , 我々はシンプルなto doアプリを構築し始めたし、我々はコンソールに入力要素からデータをログ出力することができた.
ボタンをクリックすると、コンソールにユーザー入力の値が表示されます.
この投稿では次のように行います. 要素の一覧を格納する配列を作成する 入力要素からデータを保存&表示する リストから項目を削除する機能を追加
要素の一覧を格納する配列を作成する
我々は、アイテムのリストを表示するには、アプリケーションにいくつかのコードを追加する必要があります.
テンプレートファイル、アプリから始めましょう.コンポーネント.HTML .
すぐにフォームの下に次のコードを追加します.
もっとおもしろいことはngFor もの.あなたがそれに慣れていないならば、このように* ngfor構文を読んでください
Toolistはどこですか?我々はまだそれを持っていない.しかし、名前が示すように、Toolistアイテムのリストが含まれます.その後、入力要素からデータをtodolistに追加します.todolistをappcomponentに呼び出す配列を定義しましょう.
入力要素からデータを保存&表示する
OnSubmit ()メソッドを使用して、ユーザ入力をtodolistに追加します.
今、あなたは、アイテムがあなたのアプリケーションの入力要素をフロート来るを見ることができます!
リストから項目を削除する
私たちは残酷にアイテムを削除します.
まず第一に、我々は
次に、JavaScriptを使用します
今、あなたはそれらをクリックして項目を削除することができます.言い換えると、テキストをクリックして
あなたはコードを見つけることができますhere .
新しい始まり
アプリは動作しているが、それは間違いなくコードの生の作品です.アクセシビリティは悪いですが、同じテキストを持つアイテムが一緒に削除され、スタイル….まあ、あなたはそれを参照してください.
しかし、多くの方法が進行するので、私はプッシュが必要です😄
では、いくつかのオプションがあります. このくだらないスタイルにいくつかのCSSを追加 アクセシビリティ向上 機能を改善:ワンクリック、1つの削除 入力に妥当性検査を追加する 適切な角度のフォームを使用して、このアプリを書き直す コメントにあなたの好みを書いてください.また、何か別の提案することができます!
ボタンをクリックすると、コンソールにユーザー入力の値が表示されます.
この投稿では次のように行います.
要素の一覧を格納する配列を作成する
我々は、アイテムのリストを表示するには、アプリケーションにいくつかのコードを追加する必要があります.
テンプレートファイル、アプリから始めましょう.コンポーネント.HTML .
すぐにフォームの下に次のコードを追加します.
// app.component.html
...
<ul>
<li *ngFor="let item of todoList">{{ item }}</li>
</ul>
私はあなたがよく知っていると仮定している <ul>
and <li>
tags . もっとおもしろいことはngFor もの.あなたがそれに慣れていないならば、このように* ngfor構文を読んでください
<li>
そして、新しく作成されたアイテムにその項目を加えます<li>
.Toolistはどこですか?我々はまだそれを持っていない.しかし、名前が示すように、Toolistアイテムのリストが含まれます.その後、入力要素からデータをtodolistに追加します.todolistをappcomponentに呼び出す配列を定義しましょう.
// app.component.ts
...
export class AppComponent {
title: string = 'Ng To Do';
subtitle: string = 'Write something to do in the form';
userInput: string | undefined;
todoList: string[] = ['Study Angular', 'Add one elememt', 'Correct typo'];
onSubmit(): void {
console.log(this.userInput);
}
}
トドストのタイプはstring[]
はスクリプトで、文字列の配列として読むことができます.入力要素からデータを保存&表示する
OnSubmit ()メソッドを使用して、ユーザ入力をtodolistに追加します.
// app.component.ts
...
onSubmit(): void {
console.log(this.userInput);
this.todoList = this.todoList.concat(this.userInput);
}
あなたはpush()
の代わりにconcat()
しかし、私はAに従うほうを好むfunctional programming パターン.この運動の目的のためにどちらかよい.今、あなたは、アイテムがあなたのアプリケーションの入力要素をフロート来るを見ることができます!
リストから項目を削除する
私たちは残酷にアイテムを削除します.
まず第一に、我々は
onDelete()
メソッドをアプリケーション.コンポーネント.TSonDelete()
タイプ文字列の1つのパラメータをとります.次に、JavaScriptを使用します
filter()
メソッドと機能的なプログラミングパターンは、ユーザーがいくつかの項目を削除することを決定した後に残されたアイテムだけを含むToolistのコピーを作成する.// app.component.ts
...
onDelete(itemToDelete: string): void {
this.todoList = this.todoList.filter((item) => item !== itemToDelete);
}
最後に、魔法を起こすために、テンプレートにいくつかのコードを追加する必要があります.前にしたように、イベントバインディングを使用します(click)="onDelete(item)"
.// app.component.html
...
<ul>
<li *ngFor="let item of todoList" (click)="onDelete(item)"
{{ item }}
</li>
</ul>
これはちょっと仕事です.今、あなたはそれらをクリックして項目を削除することができます.言い換えると、テキストをクリックして
onDelete()
削除する項目をフィルタアウトするJavaScriptコードを実行するメソッドです.あなたはコードを見つけることができますhere .
新しい始まり
アプリは動作しているが、それは間違いなくコードの生の作品です.アクセシビリティは悪いですが、同じテキストを持つアイテムが一緒に削除され、スタイル….まあ、あなたはそれを参照してください.
しかし、多くの方法が進行するので、私はプッシュが必要です😄
では、いくつかのオプションがあります.
Reference
この問題について(シンプルな角度アプリを行う-第2部), 我々は、より多くの情報をここで見つけました https://dev.to/lorenzojkrl/simple-angular-to-do-app-part-2-554mテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol