Angularjs カスタム ディレクティブの使用方法
今回はAngularjsカスタム命令の使い方と、Angularjsカスタム命令を使用する際の注意点を紹介します。実際の事例を見てみましょう。
1: カスタム命令に一般的に使用されるテンプレート
以下は大まかな説明であり、言及されていない詳細と重要な関連知識については後で説明します:
angular.module('yelloxingApp', []).directive('uiDirective', function() { return { restrict:String,//标明该指令可以在模板中用于元素E、属性A、类C和注释M或组合 priority:Number,//设置指令执行优先级,在某个DOM上优先级高的会先执行 terminal:Boolean, template:String or Template Function,//就是设置模板,和下面的templateUrl属性二个只可以设置一个,目的一样 templateUrl:String or Template Function,//除了字符串,这二个属性还可以设置函数 replace:Boolean,//指令模板是否替换原来的元素 scope:Boolean or Object, controller:String or function(scope, element, attrs) { ... }, require:String or Array, //你需要知道link在每个实例都执行一遍,compile全程只会执行一遍 link: function(scope, element, attrs,ctrl) { ... }, compile:function(element, attrs) { //常用的就是compile的此处写执行一次的代码,或者在link方法里面写和dom有关的操作 } }; });
2: いくつかの属性の説明
[スコープ]
最初にブール値について説明します。これは比較的単純です:
1. true に設定すると、子スコープになります。この場合、親スコープを直接使用します。
別のオブジェクト設定方法があります。これは、分離スコープを使用する場合、分離の外側の場所と対話するための 3 つのメソッドが提供されています。以下に 1 つずつ説明する例を示します。
コントローラーの内容を見てみましょう:
angular.module('yelloxingApp', []).directive("scopeExample", ['$rootScope', function($rootScope) { return { restrict: 'A', scope: { _userDataName: "=userDataName", _onSend: "&onSend", _fromName: "@fromName" }, template: ` <button ng-click="_useParentMethod()"> 点击按钮调用父级的方法 </button> <input ng-model="_userDataName"/> <ul> <li>fromName={{newfromname}}</li> <li>这是从父级获取到的{{_userDataName}}</li> </ul>`, link: function($scope, element, attrs) { //使用@符号可将本地作用域的变量与DOM属性的值进行绑定,即这里通过@得到父类fromName的值 $scope.newfromname = $scope._fromName; $scope._useParentMethod = function() { //使用&符号可以在其中调用父类的方法 $scope._onSend({ "email": { "email": "yelloxing@gmail.com" } }); console.log($scope._userDataName); }; } }; }]);
コードは次のとおりです:
< ;pscope-example user-data-name="user" on-send='sendMail(email)' from-name={{name}}>
【必須】別のコントローラーをリクエストを指定し、それを 4 番目のリンク メソッドとして使用します。 パラメーターを渡す際に注意する必要があるのは、コントローラーを見つける方法です。
コントローラーを見つける方法は次のように理解できます: use?現在のコマンドで必要なコントローラーが見つからない場合、リンク関数の 4 番目のパラメーターとして null が渡されることを示します。 ^ プレフィックスが追加されている場合、コマンドは、require パラメーターで指定されたコントローラーを検索します。上流のコマンド チェーンでは、require: "?^ngModel" のように組み合わせることもできます。プレフィックスがない場合、その命令は、コントローラー (または指定された名前の命令) が存在しない場合、そのコントローラー内で検索されます。見つかった場合はミスが発生します。
[ターミナル]
属性ターミナル: true の場合、現在の命令よりも優先度の低い命令は実行されず、この命令のみが実行されます。
3: ビューとモデルの間のデータのフォーマットは、filter の機能に似ています。場合によっては、合意を容易にするために、ある種の翻訳後にデータをページに表示したいことがあります。データベース 単純なシリアル番号の方が有益であるため、この機能を実現するには、リンク内で次のメソッドを使用する必要がある場合があります:
1.ctrl.$formatters.unshift(function(input) {//モデルからビューへのデータの書式設定} ); 2.ctrl.$parsers.unshift(function(input) {//ビューからモデルへのデータの書式設定})。
上記の $formatters と $parsers は、ビューからモデルとモデルからビューの 2 つのキューであり、内部で定義されたメソッドによるフィルタリングを容易にし、パイプライン フローに似ており、最終的に宛先に流れます。
コントローラーを見つけるために、require: "?ngModel" のようなステートメントを設定することを忘れないでください。
4: ビューとモデルデータの同期の問題コマンドの jquery を介して入力データが変更されることがありますが、angularjs はそれを認識しません。このとき、次のいずれかの方法を選択できます。入力ボックスの変更をトリガーし、Angularjs にデータが変更されたことを検出させ、$setViewValue(value) を呼び出してデータを同期します: $("input").trigger("change");2. viewValue への値の同期と、modelValue の動作: ctrl.$setViewValue($scope.info)。
5: いくつかの断片的なテクニック
1. 入力ボックスが有効かどうかに応じて true または false を設定します: ctrl.$setValidity(errorType, boolean);//errorType はエラー カテゴリを表し、カスタマイズできます2.監視仕様 モデル値はもちろん、コレクションを監視するメソッドもあります: $scope.$watch(attrs['ngModel'], function(newValue, oldValue) {});3. angularjs で管理する必要がある場合は、$compile(newHtml)($scope) メソッドを使用してコンパイルできます。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
Angular CLIを使用してAngularプロジェクトを作成する方法
以上がAngularjs カスタム ディレクティブの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









Netflix のアバターは、ストリーミング ID を視覚的に表現したものです。ユーザーはデフォルトのアバターを超えて自分の個性を表現できます。 Netflix アプリでカスタム プロフィール写真を設定する方法については、この記事を読み続けてください。 Netflix でカスタム アバターをすばやく設定する方法 Netflix には、プロフィール写真を設定する機能が組み込まれていません。ただし、ブラウザに Netflix 拡張機能をインストールすることでこれを行うことができます。まず、Netflix 拡張機能のカスタム プロフィール画像をブラウザにインストールします。 Chrome ストアで購入できます。拡張機能をインストールした後、ブラウザで Netflix を開き、アカウントにログインします。右上隅にあるプロフィールに移動し、をクリックします

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

Eclipse でショートカット キーの設定をカスタマイズするにはどうすればよいですか?開発者にとって、ショートカット キーをマスターすることは、Eclipse でコーディングする際の効率を向上させるための鍵の 1 つです。強力な統合開発環境として、Eclipse は多くのデフォルトのショートカット キーを提供するだけでなく、ユーザーが独自の好みに応じてショートカット キーをカスタマイズすることもできます。この記事では、Eclipseでショートカットキーの設定をカスタマイズする方法と具体的なコード例を紹介します。 Eclipseを開く まず、Eclipseを開いて次のように入力します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

1. 下の図はediusのデフォルトの画面レイアウトです EDIUSのデフォルトのウィンドウレイアウトは横レイアウトのため、シングルモニタ環境では多くのウィンドウが重なってプレビューウィンドウがシングルウィンドウモードになります。 2. メニューバーの[表示]から[デュアルウィンドウモード]を有効にすると、プレビューウィンドウに再生ウィンドウと録音ウィンドウを同時に表示できます。 3. [表示メニューバー > ウィンドウレイアウト > 一般] でデフォルトの画面レイアウトに戻すことができます。また、ウィンドウをドラッグして好みのレイアウトにし、[表示 > ウィンドウ レイアウト > 現在のレイアウトを保存 > 新規作成] をクリックすると、自分に合ったレイアウトをカスタマイズして、よく使う画面レイアウトとして保存することもできます。ポップアップ [現在のレイアウトを保存] レイアウト] 小さなウィンドウにレイアウト名を入力し、OK をクリックします

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

Excel の表では、データの変化傾向をより直観的に確認するために座標軸を挿入する必要がある場合があります。表に座標軸を挿入する方法がまだ分からない友達もいると思いますが、次に Excel で座標軸のスケールをカスタマイズする方法を紹介します。座標軸の挿入方法: 1. Excel インターフェイスでデータを選択します。 2. 挿入インターフェイスで、クリックして縦棒グラフまたは棒グラフを挿入します。 3. 展開されたインターフェースで、グラフィックのタイプを選択します。 4. テーブルを右クリックして表示されるインターフェイスで、[データの選択] をクリックします。 5. 拡張されたインターフェイスで、カスタマイズできます。
