angularjs 研究ノート双方向データバインディング_AngularJS
今回はangularの双方向データバインディングについて詳しく解説していきます。
1. 簡単な例
この例は最初のセクションですでに示しています。確認するには、ここにアクセスしてください。
ここで得られる効果は、入力ボックスにコンテンツを入力すると、それに応じて対応するコンテンツが変更されるということです。これにより、データの双方向のバインドが実現します。
2. 値式と ng-bind の使用
別の例を見てみましょう。ここをクリックしてください。記事にある最初の例では、{{greeting.text}} と {{text}} は値式ですが、ページを更新し続けると、つまり、ページ上に「{{greeting.text}} {{text}}」という文字列が一瞬表示されることがあります。では、どのように解決すればよいでしょうか。
ここでは ng-bind コマンドが使用されています。データ式をバインドするために使用されます。
たとえば、
と置くことができます。<p>{{greeting.text}} {{text}}</p>
次のように変更します:
"<p><span ng-bind="greeting.text"></span><span ng-bind="text"></span></p>";
この修正により、ページを更新したときに不要な文字列が表示されなくなります。
ただし、コマンドを使用するのは、式を直接使用するよりも常に効率が悪いため、共通のルールをまとめました。一般的に、インデックスは ng-bind を使用し、後続のテンプレートは「{{}}」形式を使用します。
3. 双方向バインディングの典型的なシナリオ - フォーム
まず、form.html の内容を見てください:
<!doctype html> <html ng-app="UserInfoModule"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/bootstrap-3.0.0/css/bootstrap.css"> <script src="js/angular-1.3.0.js"></script> <script src="Form.js"></script> </head> <body> <div class="panel panel-primary"> <div class="panel-heading"> <div class="panel-title">双向数据绑定</div> </div> <div class="panel-body"> <div class="row"> <div class="col-md-12"> <form class="form-horizontal" role="form" ng-controller="UserInfoCtrl"> <div class="form-group"> <label class="col-md-2 control-label"> 邮箱: </label> <div class="col-md-10"> <input type="email" class="form-control" placeholder="推荐使用126邮箱" ng-model="userInfo.email"> </div> </div> <div class="form-group"> <label class="col-md-2 control-label"> 密码: </label> <div class="col-md-10"> <input type="password" class="form-control" placeholder="只能是数字、字母、下划线" ng-model="userInfo.password"> </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <div class="checkbox"> <label> <input type="checkbox" ng-model="userInfo.autoLogin">自动登录 </label> </div> </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <button class="btn btn-default" ng-click="getFormData()">获取Form表单的值</button> <button class="btn btn-default" ng-click="setFormData()">设置Form表单的值</button> <button class="btn btn-default" ng-click="resetForm()">重置表单</button> </div> </div> </form> </div> </div> </div> </div> </body> </html>
Form.js の内容をもう一度見てください:
var userInfoModule = angular.module('UserInfoModule', []); userInfoModule.controller('UserInfoCtrl', ['$scope', function($scope) { $scope.userInfo = { email: "253445528@qq.com", password: "253445528", autoLogin: true }; $scope.getFormData = function() { console.log($scope.userInfo); }; $scope.setFormData = function() { $scope.userInfo = { email: 'testtest@126.com', password: 'testtest', autoLogin: false } }; $scope.resetForm = function() { $scope.userInfo = { email: "253445528@qq.com", password: "253445528", autoLogin: true }; } } ])
エフェクトのスクリーンショットは次のとおりです:
上の図に実装されている関数は次のとおりです:
1. 「取得」をクリックすると、コンソールに電子メール、パスワード、選択されたステータス (true、false) の 3 つのデータが出力されます
2. [設定] をクリックします: 2 つの入力ボックスの値とチェックボックスのオフの状態を変更できます
3. 「リセット」をクリックすると、データを元のデータに戻すことができます。
入力ボックスの ng-model とコントローラーの値は双方向バインディングを実装しているため、入力ボックスの値を変更するか、コントローラーの値を変更すると、それに応じて両方の値が変更されます。たった数行のコードでこれほど強力な機能を実現できるなんて、すごいと思いませんか?確かにすごいですが、さらにすごいのはこれからです!どうぞ!
4. ラベルのスタイルを動的に切り替える
まず color.html の内容を見てください:
<!doctype html> <html ng-app="MyCSSModule"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="CSS1.css"> </head> <style type="text/css"> .text-red { background-color: #ff0000; } .text-green { background-color: #00ff00; } </style> <body> <div ng-controller="CSSCtrl"> <p class="text-{{color}}">测试CSS样式</p> <button class="btn btn-default" ng-click="setGreen()">绿色</button> </div> </body> <script src="js/angular-1.3.0.js"></script> <script src="color.js"></script> </html>
19行目を見てみましょう: pタグに「color」変数があります。「green」をクリックするとsetGreen関数が実行され、「color」の値が「green」に変更されます。名前が変更され、背景色も変わります。この方法を使用すると、要素を直接操作する必要がなく、変数を追加するだけで済みます。コードは簡潔で直感的です。
color.js の内容をもう一度見てみましょう:
var myCSSModule = angular.module('MyCSSModule', []); myCSSModule.controller('CSSCtrl', ['$scope', function($scope) { $scope.color = "red"; $scope.setGreen = function() { $scope.color = "green"; } } ])
属性「color」のデフォルト値は「red」なので、クリックすると関数が実行され緑色に変わります。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Javascript は、コードの構成、コードのプログラミング パラダイム、およびオブジェクト指向理論の点で非常にユニークな言語です。しかし、JavaScript が 20 年間主流であったとはいえ、jQuery、Angularjs、さらには React などの人気のあるフレームワークを理解したい場合は、「Black Horse Cloud Classroom JavaScript Advanced Framework」を見てください。デザインビデオチュートリアル」。

Vue エラーを解決する方法: 双方向データ バインディングに v-model を正しく使用できません はじめに: Vue は、双方向データ バインディングを実装するための v-model ディレクティブなど、多くの便利な機能を提供する人気のあるフロントエンド フレームワークです。ただし、v-model を使用するとき、特に複雑なデータ構造を扱うとき、エラーが発生することがあります。この記事では、いくつかの一般的な v-model エラーを紹介し、解決策とコード例を示します。エラー: v-model プロパティとオブジェクト プロパティの双方向バインディング

今日の情報化時代において、ウェブサイトは人々が情報を入手し、コミュニケーションを図るための重要なツールとなっています。レスポンシブな Web サイトはさまざまなデバイスに適応し、ユーザーに高品質のエクスペリエンスを提供できます。これは、現代の Web サイト開発のホットスポットとなっています。この記事では、PHP と AngularJS を使用して応答性の高い Web サイトを構築し、高品質のユーザー エクスペリエンスを提供する方法を紹介します。 PHP の概要 PHP は、Web 開発に最適なオープンソースのサーバー側プログラミング言語です。 PHP には、学びやすさ、クロスプラットフォーム、豊富なツール ライブラリ、開発効率など、多くの利点があります。

インターネットの継続的な発展に伴い、Web アプリケーションは企業情報構築の重要な部分となり、最新化作業に必要な手段となりました。 Web アプリケーションの開発、保守、拡張を容易にするために、開発者は開発ニーズに合った技術フレームワークとプログラミング言語を選択する必要があります。 PHP と AngularJS は非常に人気のある 2 つの Web 開発テクノロジであり、それぞれサーバー側とクライアント側のソリューションであり、これらを組み合わせて使用すると、Web アプリケーションの開発効率とユーザー エクスペリエンスを大幅に向上させることができます。 PHPPHPの利点

インターネットの普及に伴い、ネットワークを使用してファイルを転送したり共有したりする人が増えています。ただし、さまざまな理由により、FTP などの従来の方法をファイル管理に使用しても、現代のユーザーのニーズを満たすことができません。したがって、使いやすく、効率的で安全なオンライン ファイル管理プラットフォームを確立することがトレンドになっています。この記事で紹介するオンライン ファイル管理プラットフォームは、PHP と AngularJS をベースにしており、ファイルのアップロード、ダウンロード、編集、削除などの操作を簡単に実行でき、ファイル共有、検索、検索などの一連の強力な機能を提供します。

Web アプリケーションの人気に伴い、フロントエンド フレームワーク AngularJS の人気も高まっています。 AngularJS は、Google が開発した JavaScript フレームワークで、動的な Web アプリケーション機能を備えた Web アプリケーションの構築に役立ちます。一方、バックエンド プログラミングの場合、PHP は非常に人気のあるプログラミング言語です。サーバーサイド プログラミングに PHP を使用している場合、PHP と AngularJS を使用すると、Web サイトにさらに動的な効果がもたらされます。

Web テクノロジーの急速な発展に伴い、シングル ページ Web アプリケーション (SinglePage Application、SPA) は、Web アプリケーション モデルとしてますます人気が高まっています。従来の複数ページの Web アプリケーションと比較して、SPA の最大の利点は、ユーザー エクスペリエンスがよりスムーズであり、サーバーのコンピューティング負荷も大幅に軽減されることです。この記事では、FlaskとAngularJSを使って簡単なSPAを構築する方法を紹介します。 Flask は軽量の Py です
