AngularJS の概要: ディレクティブとcontroller_AngularJS の間の通信プロセス
AngularJS は、新しいプロパティと式で HTML を拡張します。 Angularjs は習得も非常に簡単です。
1. AngularJS とは
Angular JS (Angular.JS) は、Web ページの開発に使用されるフレームワーク、テンプレート、データ バインディング、およびリッチ UI コンポーネントのセットです。開発プロセス全体をサポートし、手動による DOM 操作を必要としない Web アプリケーションのアーキテクチャを提供します。
AngularJS は、アプリケーションの構築における HTML の欠点を克服するように設計されています。 HTML は、静的なテキスト表示用に設計された優れた宣言型言語ですが、WEB アプリケーションの構築には弱いです。ここで AngularJS が登場し、HTML の本来の欠点を補い、Web アプリケーションの構築に使用されます。
2. AngularJS を理解する方法
AngularJS は 2009 年に誕生し、Misko Hevery らによって作成され、後に Google に買収されました。
AngularJS 公式 Web サイト: http://www.angularjs.org (通常はブロックされるため、次の Web サイトにアクセスできます)
AngularJS 中国語 Web サイト: http://www.ngnice.com
書籍: 「AngularJS 権威チュートリアル」、「AngularJS による次世代 Web アプリケーションの開発」など。個人的な意見です、ご参考までに
コメント: 最近、Da Mo 先生の AngularJS チュートリアルを視聴しましたが、非常に優れていると思いましたが、基本的な知識がないとまだ理解できないようです (そうではありません)。宣伝用)
3. AngularJS について知る必要がある理由
新しい技術が出てきて、誰もが知って、目立つようになるには、絶対に根拠がないわけではありません。主なポイントは次のとおりです。
(1)MVC(またはMVVM)の考え方
(2) モジュール化と依存関係の注入
(3) 双方向データバインディング
(4) コマンド
それぞれの機能は広い範囲で拡張できますが、興味がある場合は、オンラインで検索して全体的な理解を得ることができます。
今日は主に AngularJS の 3 つのディレクティブ「@」、「=」、「&」の使用法と違いについて話します (この問題は一日のほとんどを悩ませていましたが、Frank とコミュニケーションを取って初めて理解しました)何度も)
1.@
ディレクティブスコープ内は、現在の属性を文字列として渡すために使用されます。
まず、フロントエンドインターフェイスのコードを入力します:
<!doctype html> <html ng-app="MyModule"> <head> <meta charset="utf-"> <link rel="stylesheet" href="../css/bootstrap.css"> </head> <body> <div ng-controller="MyCtrl"> <drink water="{{pureWater}}"></drink> </div> </body> <script src="../js/angular.js"> <script src="ScopeAt.js"></script> </html>
JS コード:
var myModule = angular.module("MyModule", []); myModule.controller('MyCtrl', ['$scope', function($scope){ $scope.pureWater="纯净水"; }]) myModule.directive("drink", function() { return { restrict:'AE', scope:{ water:'@' }, template:"<div>{{water}}</div>" } });
実行結果は目立ったものではありませんが、隠された秘密があります:
(1) HTML ページで、タグ <ドリンク>ドリンク> を宣言します。このタグは、属性名:水属性値:pureWater ({{}} ここで、angularjs での一般的な表現です。 ng-model、値バインディングに使用)
(2) JS ファイルでは、まずモジュールから開始し、2 行目~4 行目でコントローラーを作成し、次に命令を定義します。主な実装は、「<ドリンク>ドリンク>」を置き換えることです。 「
(3) ここの
に注目してくださいscope:{ water:'@' }
この式は次と同等です:
link:function(scope,element,attrs){ scope.water=attrs.water; }
具体的な意味は、命令のスコープで属性名「water」を定義することです。その値は、フロントエンド インターフェイス内の水属性の値、つまり「{{pureWater}}」です。
同時に、宣言されたコントローラーから {{pureWater}} の値を確認できます:
$scope.pureWater="純水";
最終ページには「精製水」が表示され、主なプロセスは次のとおりです。
a. 命令内で @ を使用して、命令を HTML ページ要素に関連付けます。
b. ページとの接続はコントローラーで実現されます。
c. これは、通信方法でもある HTML ページを使用して、コントローラーとコマンド間の接続を確立します。詳細については、以下の画像を参照してください:
ディレクティブのスコープ内
この機能は、親スコープ内のプロパティとの双方向バインディングを実行することです。
<!doctype html> <html ng-app="MyModule"> <head> <meta charset="utf-"> <link rel="stylesheet" href="../css/bootstrap.css"> </head> <body> <div ng-controller="MyCtrl"> Ctrl: <br> <input type="text" ng-model="pureWater"> <br> Directive: <br> <drink water="pureWater"></drink> </div> </body> <script src="../js/angular.js"></script> <script src="ScopeEqual.js"></script> </html> var myModule = angular.module("MyModule", []); myModule.controller('MyCtrl', ['$scope', function($scope){ $scope.pureWater="纯净水"; }]) myModule.directive("drink", function() { return { restrict:'AE', scope:{ water:'=' }, template:'<input type="text" ng-model="water"/>' } });
ディレクティブスコープ内
主な関数は、後で呼び出される関数を親スコープから渡すことです。
<!doctype html> <html ng-app="MyModule"> <head> <meta charset="utf-"> <link rel="stylesheet" href="../css/bootstrap.css"> </head> <body> <div ng-controller="MyCtrl"> <greeting greet="sayHello(name)"></greeting> <greeting greet="sayHello(name)"></greeting> <greeting greet="sayHello(name)"></greeting> </div> </body> <script src="../js/angular.js"></script> <script src="ScopeAnd.js"></script> </html> var myModule = angular.module("MyModule", []); myModule.controller('MyCtrl', ['$scope', function($scope){ $scope.sayHello=function(name){ alert("Hello "+name); } }]) myModule.directive("greeting", function() { return { restrict:'AE', scope:{ greet:'&' }, template:'<input type="text" ng-model="userName" /><br/>'+ '<button class="btn btn-default" ng-click="greet({name:userName})">Greeting</button><br/>' } });
ページを見るとわかるように、ここではタグ
(1)初期インターフェース
(2) 最初のテキストボックスに値を入力します
(2) 2 番目のテキストボックスに値を入力します
(3) 3 番目のテキストボックスに入力します

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます
