角度付き双方向バインディングの詳細な説明

角度付き双方向バインディングの詳細な説明

双方向バインディングの原理

双方向バインディングは、プロパティ バインディングとイベント バインディングを組み合わせます。

Angular の双方向バインディング構文は、角括弧と丸括弧 [()] の組み合わせです。

[] はプロパティのバインディングに使用され、() はイベントのバインディングに使用されます。

命名規則は[入力名] + 変更です。

  • プロパティ バインディング ( Input ) - 特定の要素属性を設定します。
  • イベント バインディング ( Output -output) − 要素変更イベントをリッスンします。

そのため、双方向バインディングの形式では ngModel と ngModelChange が存在し、双方向バインディングのプロパティをカスタマイズすることもできます。

ngモデル

フォーム要素への双方向バインディング

'@angular/core' から Component、OnInit をインポートします。
@成分({
  セレクタ: 'app-bind'、
  テンプレート: `
    <div>
      <div>名前: {{ name }}}</div>
      <input type="text" style="width: 300px;" nz-input name="名前" [(ngModel)]="名前" autocomplete="オフ">
    </div>
  `
})
BindComponentクラスをエクスポートし、OnInitを実装します。
  名前 = '';
  コンストラクタ() { }
  ngOnInit(): void { }
}

レンダリング

レンダリング

カスタム双方向バインディングプロパティ

コンポーネント-html

<div>
  <div>内部: {{値}}}</div>
  <input style="width: 300px;" nz-input (input)="onInput(input.value)" #input autocomplete="off">
</div>

コンポーネントts

'@angular/core' から Component、EventEmitter、Input、OnInit、Output } をインポートします。
@成分({
  セレクタ: 'app-inner'、
  テンプレート URL: './inner.component.html',
  スタイル URL: ['./inner.component.scss']
})
InnerComponentクラスをエクスポートし、OnInitを実装します。
  // 入力プロパティを設定します @Input() value!: string;
  // 出力イベントを設定します @Output() valueChange: EventEmitter<string> = new EventEmitter();
  コンストラクタ() { }
  ngOnInit(): void { }
  onInput(値: 文字列){
    // 出力イベントをトリガー - 出力データ this.valueChange.emit(value);
  }
}

外用

'@angular/core' から Component、OnInit をインポートします。
@成分({
  セレクタ: 'app-outer'、
  テンプレート: `
    <div>
      <div>名前: {{ name }}}</div>
      <app-inner [(値)]="名前"></app-inner>
    </div>
  `
})
OuterComponentクラスをエクスポートし、OnInitを実装します。
  名前 = '';
  コンストラクタ() { }
  ngOnInit(): void { }
}

レンダリング

レンダリング

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Angularでカスタムコンポーネントの双方向バインディングを実装する2つの方法の詳細な説明
  • Angular の双方向バインディングが効かず、ng-model が正常に表示されない問題を解決
  • 双方向データバインディング時にAngular2で[(ngModel)]が使用できない問題を解決する
  • AngularJS 双方向データバインディングの原則: $watch、$apply、$digest の適用
  • Angularカスタムコンポーネントを使用した双方向データバインディングの実装例
  • AngularJs における双方向バインディングの原理 (データバインディングメカニズム) についての簡単な説明

<<:  WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

>>:  CSS3 フィルター (フィルタ) ウェブページのグレーまたは黒モードのサンプルコードを実現

推薦する

type="file" の入力ボックスのスタイル変更の概要

入力タイプ「file」とは何ですか?これが何なのかは説明する必要はないと思います。誰もが知っているこ...

HTMLノードの追加と削除の簡単な例

<br />HTMLノードの追加と削除の簡単な例<input type="...

JS でモバイルのインタラクティブ エクスペリエンスを向上させる方法

目次1. 即時フィードバック1.1 ボタンからの即時フィードバック1.2 継続的なフィードバック1....

MySQLの基本を素早く学ぶ

目次SQLを理解するSELECTを理解するエイリアス定数をクエリし、固定定数列を追加します。重複行を...

Vue で動的なスタイルを実現するためのさまざまな方法のまとめ

目次1. 三項演算子の判定2. 動的に設定されるクラス3. 方法判定4. 配列バインディング5. e...

過去2年間のユーザーエクスペリエンス

<br />国内のウェブサイトが本格的に普及し、ユーザーエクスペリエンスに重点が置かれる...

WeChatアプレットはシンプルな計算機を実装する

WeChatアプレットの簡単な計算機は参考用です。具体的な内容は次のとおりです。 1. はじめに1....

新しい ECMAscript オブジェクト機能の紹介

目次1. オブジェクトのプロパティ1.1 属性表記2. プロパティ名を計算する3.オブジェクトメソッ...

Win10の明るさ調整効果を模倣するHTML+CSS+JSサンプルコード

HTML+CSS+JS で Win10 の明るさ調整効果を模倣コード <!doctypehtm...

SHTML 簡潔なチュートリアル

SHTMLとASPは似ています。SHTMLという名前のファイルでは、SSIの命令がASPの命令と同じ...

HTML における相対と絶対の使用法と違いの詳細な説明

HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...

Nginx 設定場所のマッチング優先順位の簡単な分析

序文Nginx 構成のサーバー ブロック内の場所は、リクエスト URI を一致させるために使用され、...

Docker のインストールと構成コマンドのコード例

Dockerのインストール依存パッケージをインストールする sudo yum install -y ...

mysqlとnavicat間の接続を確立する際の1251エラーを解決する

コンピュータを再インストールし、最新バージョンのMySQLデータベースをインストールしました。その結...