ホームページ ウェブフロントエンド jsチュートリアル AngularJS 組み込みディレクティブ_AngularJS

AngularJS 組み込みディレクティブ_AngularJS

May 16, 2016 pm 04:16 PM
angularjs 組み込みコマンド

ディレクティブは、AngularJS が HTML 要素を操作する方法として理解しています。
AngularJS を学習する最初のステップは、このノードがアプリケーションのルート ノードであることを示す組み込みディレクティブ ng-app を作成することなので、このディレクティブはすでによく知られています。

このブログでは、いくつかの組み込みコマンドを簡単に記録します。まずそれらを使用してから、いくつかの興味深い点について説明します。

組み込みコマンド

すべての組み込み命令には ng という接頭辞が付けられます。競合を避けるために、カスタム命令でこの接頭辞を使用することはお勧めできません。
いくつかの一般的な組み込みコマンドから始めます。
まず、主要な組み込み命令をいくつか挙げて、スコープの問題について簡単に説明します。

NG モデル

フォーム コントロールを現在のスコープのプロパティにバインドすることが正しくないようです。
ただし、今のところは表現について心配する必要はありません。使用すると理解しやすくなります。たとえば、

コードをコピーします コードは次のとおりです:



{{someModel.someProperty}}

ng-init

このディレクティブは呼び出されたときに内部スコープを初期化します。
このコマンドは通常、デモなどの比較的小規模なアプリケーションで使用されます...

コードをコピーします コードは次のとおりです:


私は{{仕事}}
です

ng-init に加えて、さらに優れたオプションがあります。

NG アプリ

AngularJS を使用するときは、このコマンドが欠かせません。
ng-app を宣言する要素は $rootScope の開始点となり、$rootScope はスコープ チェーンのルートであり、通常は で宣言されます。
つまり、ルートの下にあるすべてのスコープがアクセスできます。
ただし、$rootScope を過度に使用することはお勧めできません。そうしないと、グローバル変数があらゆる場所に存在し、非効率になり、管理が難しくなります。
以下に例を示します:

コードをコピーします コードは次のとおりです:



{{ someProperty }}

<スクリプト>
var myApp = angular.module('myApp', [])
.run(function($rootScope) {
$rootScope.someProperty = 'こんにちはコンピューター';
});


ng-コントローラー

このコマンドを使用して、DOM 要素にコントローラーをインストールします。
コントローラー? 確かに、文字通りに理解するのは良いことですが、なぜコントローラーが必要なのでしょうか? AngularJS 1.2.x では、次のようにコントローラーを定義できることを思い出してください...

コードをコピーします コードは次のとおりです:
関数 ohMyController($scope) {
//...
}

このメソッドは AngularJS 1.3.x では禁止されています。このメソッドを使用するとコントローラーが空を飛び回り、すべてが $rootScope にハングされるため、レベルを区別できなくなります。

さらに、$scope は、$rootScope を含む上位の $scope のメソッドとプロパティを継承するために使用されます。
以下は単純な例です。祖先は子のスコープにアクセスできません。

コードをコピーします コードは次のとおりです:

{{ 先祖名 }}
{{ childName }}

{{ 先祖名 }}
{{ childName }}


<スクリプト>
var myApp = angular.module('myApp', [])
.controller('ChildController', function($scope) {
$scope.childName = '子';
})
.controller('AncestorController', function($scope) {
$scope.ancestorName = '先祖';
});


スコープの問題はそれを超えて、今は脇に置いて、他の組み込み命令を見てみましょう。

NG 形式

最初はなぜ form コマンドがあるのか​​分かりませんでしたが、

タグは十分役に立ちそうです。
フォーム検証を例に挙げると、前の記事には次のコードがあります:

コードをコピーします コードは次のとおりです:


つまり、フォームのステータスが $invalid の場合、送信ボタンは無効になります。
シナリオがもう少し複雑な場合、たとえば、親フォームに複数のサブフォームがあり、サブフォームの 3 つの検証に合格したときに親フォームを送信できます。
ただし、

はネストできません。
このシナリオを考慮して、ng-form ディレクティブを使用してこの問題を解決します。
例:

コードをコピーします コードは次のとおりです:

<フォーム名="mainForm" novalidate>

名前:

ID 番号:




ガーディアン名:

ガーディアン ID 番号:



NG-無効

このような、出現している限り有効な属性については、AngularJS で true/false 式を返すことで有効にすることができます。
フォーム入力フィールドを無効にします。

コードをコピーします コードは次のとおりです:


ng-readonly

式の戻り値 true/false を使用して、フォーム入力フィールドを読み取り専用に設定します。
例として、3 秒後に読み取り専用になります。

コードをコピーします コードは次のとおりです:


.run(function($rootScope,$timeout){
$rootScope.stopTheWorld=false;
$timeout(function(){
$rootScope.stopTheWorld = true;
},3000)
})

NG チェック済み

これは などに使用します。

コードをコピーします コードは次のとおりです:


NG が選択されました

は、

コードをコピーします コードは次のとおりです:



フルスタックエンジニアです

<選択>




NG-show/NG-Hide

式に基づいて HTML 要素を表示/非表示にします。これらは非表示であり、DOM から削除されないことに注意してください。例:

コードをコピーします コードは次のとおりです:


1 1=2


あなたには私が見えません。

変更不可

HTML のような onXXX ではなく、ng-XXX です。
ng-model と組み合わせて使用​​されます。例として ng-change を取り上げます:

コードをコピーします コードは次のとおりです:


{{ calc.result }}

または ng-options のようなもの

{{}}

実際、これも ng-bind と似たコマンドですが、ページのレンダリングが少し遅い場合に発生することがあります。
また、{{}} のパフォーマンスは ng-bind に比べてはるかに劣りますが、使用すると非常に便利です。

ng-バインド

ng-bind の動作は {{}} と似ていますが、このコマンドを使用して、レンダリング解除によって引き起こされるちらつきである FOUC (レンダリングされていないコンテンツのフラッシュ) を回避できる点が異なります。

NG-マント

ng-cloak も FOUC を解決してくれます。 ng-cloak は、ルートが対応するページを呼び出すまで内部要素を非表示にします。

ng-if

ng-if の式が false の場合、対応する要素は非表示ではなく DOM から削除されますが、要素を検査すると式がコメントになっていることがわかります。
フェーズが非表示の場合は、ng-hide を使用できます。

コードをコピーします コードは次のとおりです:


要素をレビューできません


検閲される可能性があります

ng-switch

単独で使用しても意味がありません。例を次に示します。

コードをコピーします コードは次のとおりです:


0


1


2


3



ng-repeat

なぜ iterate と呼ばれないのかわかりません。要するに、次のように、コレクションを走査し、各要素のテンプレート インスタンスを生成します。

コードをコピーします コードは次のとおりです:

$index
$first
$last
$middle
さえ
奇数

説明する必要はありませんが、これらが何であるかは簡単にわかります。例を示します。

コードをコピーします コードは次のとおりです:


  • {{char.alphabet}}


ng-href

最初にテキストフィールドに ng-model を作成し、href に次のように を書きました。
実際、href と ng-href の間に違いはないので、これを試すことができます:

コードをコピー コードは次のとおりです:


.run(function($rootScope, $timeout) {
$rootScope.linkText = 'まだロードされていないため、クリックできません';
$timeout(function() {
$rootScope.linkText = 'クリックしてください'
$rootScope.myHref = 'http://google.com';
}、2000);
})

ng-src

同様に、式が有効になる前にリソースをロードしないでください。
例 (追記: 素敵な写真です!):

コードをコピーします コードは次のとおりです:


.run(function($rootScope, $timeout) {
$timeout(function() {
$rootScope.imgSrc = 'https://octodex.github.com/images/daftpunktocat-guy.gif';
}、2000);
})

NG クラス

スコープ内のオブジェクトを使用してクラス スタイルを動的に変更します。例:

コードをコピーします コードは次のとおりです:

<スタイル>
.red {背景色: 赤;}
.blue {背景色: 青;}



番号は: {{ x }}



.controller('CurTimeController', function($scope) {
$scope.getCurrentSecond = function() {
$scope.x = new Date().getSeconds();
};
})

以上がこの記事で説明した内容のすべてです。皆さんに気に入っていただければ幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

入門から習得まで、2022 年の最新 5 つの angularjs チュートリアル 入門から習得まで、2022 年の最新 5 つの angularjs チュートリアル Jun 15, 2017 pm 05:50 PM

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

PHP と AngularJS を使用して応答性の高い Web サイトを構築し、高品質のユーザー エクスペリエンスを提供します PHP と AngularJS を使用して応答性の高い Web サイトを構築し、高品質のユーザー エクスペリエンスを提供します Jun 27, 2023 pm 07:37 PM

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

PHP と AngularJS を使用して Web アプリケーションを構築する PHP と AngularJS を使用して Web アプリケーションを構築する May 27, 2023 pm 08:10 PM

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

Vue2 と比較した Vue3 の変更点: 豊富な組み込み命令 Vue2 と比較した Vue3 の変更点: 豊富な組み込み命令 Jul 07, 2023 pm 04:01 PM

Vue2 と比較した Vue3 の変更点: より豊富な組み込み命令 Vue.js は、人気のある JavaScript フレームワークとして、時が経つにつれてアップグレードされ、改良され続けています。 Vue3 は Vue.js の最新バージョンであり、Vue2 と比較して多くの重要な変更とアップグレードが行われています。最も重要な変更の 1 つは、豊富な組み込みコマンドです。この記事では、Vue2 と比較した Vue3 の組み込みディレクティブのいくつかの変更点を調査し、これらの変更点を示すコード例をいくつか示します。

Flask と AngularJS を使用してシングルページ Web アプリケーションを構築する Flask と AngularJS を使用してシングルページ Web アプリケーションを構築する Jun 17, 2023 am 08:49 AM

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

PHP と AngularJS を使用してオンライン ファイル管理プラットフォームを開発し、ファイル管理を容易にする PHP と AngularJS を使用してオンライン ファイル管理プラットフォームを開発し、ファイル管理を容易にする Jun 27, 2023 pm 01:34 PM

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

PHP プログラミングで AngularJS を使用するにはどうすればよいですか? PHP プログラミングで AngularJS を使用するにはどうすればよいですか? Jun 12, 2023 am 09:40 AM

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

AngularJS の基本の紹介 AngularJS の基本の紹介 Apr 21, 2018 am 10:37 AM

この記事の内容は AngularJS の基本的な入門に関するもので、必要な友人に共有します。

See all articles