Angular(バージョン2以降)の勉強、その12です
前回でクリックイベントができたので
今回はインプットイベントになります
formの部分で使うので大事です
- template側(/app/servers/servers.component.html)
- TypeScript側(/app/servers/servers.component.ts)親子関係の親の部分です
- 結果
template側(/app/servers/servers.component.html)
<label>Server Nmae </label> <input type="text" class="form-control" (input)="onUpdateServerName($event)"> <p>{{serverName}}</p> <button class="btn btn-primary" [disabled]="!allowNewServer" (click)="onCreateServer()">追加するよ</button> <p>{{serverCreationStatus}}</p> <p>{{ allowNewServer}}</p> <p [innertext]="allowNewServer"></p>
追加したのは
<input type="text" class="form-control" (input)="onUpdateServerName($event)"> <p>{{serverName}}</p>
inputタグとそれにインプットのバイディング(input)の部分になります
serverNameはインプットした内容を反映する部分になります
TypeScript側(/app/servers/servers.component.ts)親子関係の親の部分です
export class ServersComponent implements OnInit { allowNewServer = false; serverCreationStatus = "No Server was created"; serverName = ""; constructor() { setTimeout(() =>{ this.allowNewServer = true; },3000); } ngOnInit() { } onCreateServer(){ this.serverCreationStatus ='Server was created' } onUpdateServerName(event: any){ console.log(event) this.serverName = (<htmlinputelement>event.target).value; } }
追加したのが「onUpdateServerNameの部分になります」
コンソールログは普通のjavascriptのログになります
結果
入力した内容がしたのserverNameの変数部分に反映されています
またそのイベントがコンソールログに記録されています
コンソールログのeventログの
→ target
→ value
に入力した「test」があります
(input)="onUpdateServerName($event)"
と記載している部分は
[(ngModel)]="serverName"
と記載して直接いれることが可能
フィルターとかやりたい場合は関数の方がいいかも
Angular 2: From Theory To Practice (English Edition)
- 作者: Asim Hussain
- 出版社/メーカー: CodeCraft
- 発売日: 2017/01/14
- メディア: Kindle版
- この商品を含むブログを見る
- 出版社/メーカー: punniyaseelan
- 発売日: 2017/03/01
- メディア: アプリ
- この商品を含むブログを見る
次はngIfについてです
masalib.hatenablog.com
ちなみに講義の10%が終わった・・・
あと何日かかるのやら