検索
ホームページウェブフロントエンドjsチュートリアルAngularJS ディレクティブによって返されるオブジェクト プロパティの詳細な説明_AngularJS

前に書いた: ディレクティブ部分はangularjsにおいて最優先される部分なので、複数の章に分けて説明します。この章では主に、ディレクティブ

によって返されるオブジェクトのより単純な属性について説明します。

Directive() は angularjs で命令を定義するために使用されます。このメソッドは 2 つのパラメーターを受け取ります: name (命令の名前)、factory_function (この関数は命令のすべての動作を定義し、オブジェクトを返します)

栗:

//index.js
angular.module('myApp',[]);
myApp.directive('myDirective',function() {return {};});

返されたオブジェクトには、次のプロパティとメソッドが含まれます:

1: 制限: 文字列

この属性は、myDirective ディレクティブが DOM 内で宣言される形式 (つまり、HTML 内で使用される場所) を記述するために使用されます。
この属性のオプションの値は、E (要素)、A (属性、デフォルト値)、C (クラス名)、M (コメント) で、単独または組み合わせて使用​​できます
独立したコマンド機能をカスタマイズしたい場合、つまり、コマンドが他の要素や属性などに依存せずに一連の操作を独立して完了できる場合は、必要に応じてコマンドを要素として定義します。このコマンドを使用するには 既存のディレクティブの機能を拡張するには、それを属性として定義します。この理解が妥当かどうかは分かりませんが、確かに参考になる良い選定方法の基準です

2: 優先度: 番号

この属性は命令の優先順位を定義するために使用されます (デフォルトは 0、ngRepeat はすべての組み込み命令の中で最も高い優先順位を持ち、1000 です)。優先順位の高い命令が最初に実行されます。

3: ターミナル: ブール値

この属性は、現在の要素でこの命令よりも低い優先順位の命令の実行を停止するかどうかを決定するために使用されますが、同じ優先順位が引き続き実行されます。
栗:

//index.js
angular.module('myApp',[])
.directive('myDirective',function() {
  return {
    restrict: 'AE',
    priority: 1,
    template: '<div>hello world</div>'
  };
})
.directive('myDirective1',function() {
  return {
    restrict: 'AE',
    priority: 3,
    terminal: true
  };
})

<!-- index.html -->
<div my-directive my-directive1></div>

myDirective1 ディレクティブが定義されていない場合、ブラウザーには hello world が表示されますが、myDirective1 ディレクティブを追加し、その優先順位を myDirective より大きく設定し、myDirective1 の端末属性を true に設定すると、ブラウザーの実行が停止します。 myDirective ディレクティブ。

4: テンプレート: 文字列/関数

この属性はテンプレートを定義します (つまり、HTML ファイル内でこの命令を使用する部分がテンプレートのコンテンツを置き換えるため、テンプレートは主に HTML 形式になります)
属性には 2 つの形式があります。1 つは HTML テキスト、もう 1 つはテンプレート文字列を返す関数で、この関数は 2 つのパラメーターを受け取ります: tElement、tAttrs

5: templateUrl: 文字列/関数

テンプレート コンテンツが多数ある場合、テンプレートに直接ネストすると冗長に見えます。この場合は、TemplateUrl を使用してファイルをインポートする必要があります。 🎜> 属性には 2 つの形式もあります。外部 HTML ファイルのパスを表す文字列と、外部 HTML ファイルへのパスの文字列を返す関数です。この関数は 2 つのパラメータを受け取ります: tElement、tAttrs

6: 置換: ブール値

この属性のデフォルト値は false で、このディレクティブを呼び出す要素にテンプレートを子要素として挿入するか、このディレクティブを呼び出す要素を上書きして置換するかを示します。

栗:

//index.js
angular.module('myApp',[])
.directive('myDirective',function() {
  return {
    restrict: 'A',
    template: '<div>hello world</div>',
    replace: true/false
  };  
}) 
 <!-- index.html -->
<my-directive></my-directive>
repalce が false の場合、ブラウザのソース コードは
hello world
としてレンダリングされます

true の場合、

hello world

として表示されます。

7: transclude: ブール値

栗:


<!-- index.html -->
<div my-directive>world</div>
この例のように、命令内にコンテンツがある場合、通常、テンプレートはコンテンツを直接上書きして置き換えますが、ここではそれを保持したいので、transclude が役に立ちます。


//index.js
angular.module('myApp',[])
.dirctive('myDirective',function() {
  return {
    restrict: 'EA', 
    transclude: true,
    template: '<div>hello <span ng-transclude></span></div>'
  };
})
上記の js コードは、HTML ファイル ディレクティブに含まれるワールドをテンプレートの spam 要素に埋め込みます。span 要素は ng-transclude 組み込みディレクティブ属性を追加することに注意してください (これは非常に重要です)

つまり、この属性の目的は、ng-transclude ディレクティブが見つかった DOM 要素から取得したコンテンツを配置するように angularjs コンパイラーに指示することです。
以上がこの記事の全内容となりますが、皆様の学習のお役に立てれば幸いです。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
2022年最新5款的angularjs教程从入门到精通2022年最新5款的angularjs教程从入门到精通Jun 15, 2017 pm 05:50 PM

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验Jun 27, 2023 pm 07:37 PM

在如今信息时代,网站已经成为人们获取信息和交流的重要工具。一个响应式的网站能够适应各种设备,为用户提供优质的体验,成为了现代网站开发的热点。本篇文章将介绍如何使用PHP和AngularJS搭建一个响应式网站,从而提供优质的用户体验。PHP介绍PHP是一种开源的服务器端编程语言,非常适用于Web开发。PHP具有很多优点,如易于学习、跨平台、丰富的工具库、开发效

使用PHP和AngularJS构建Web应用使用PHP和AngularJS构建Web应用May 27, 2023 pm 08:10 PM

随着互联网的不断发展,Web应用已成为企业信息化建设的重要组成部分,也是现代化工作的必要手段。为了使Web应用能够便于开发、维护和扩展,开发人员需要选择适合自己开发需求的技术框架和编程语言。PHP和AngularJS是两种非常流行的Web开发技术,它们分别是服务器端和客户端的解决方案,通过结合使用可以大大提高Web应用的开发效率和使用体验。PHP的优势PHP

如何使用PHP和AngularJS进行前端开发如何使用PHP和AngularJS进行前端开发May 11, 2023 pm 05:18 PM

随着互联网的普及和发展,前端开发已变得越来越重要。作为前端开发人员,我们需要了解并掌握各种开发工具和技术。其中,PHP和AngularJS是两种非常有用和流行的工具。在本文中,我们将介绍如何使用这两种工具进行前端开发。一、PHP介绍PHP是一种流行的开源服务器端脚本语言,它适用于Web开发,可以在Web服务器和各种操作系统上运行。PHP的优点是简单、快速、便

使用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进行服务器端编程,那么结合AngularJS使用PHP将可以为您的网站带来更多的动态效

使用Flask和AngularJS构建单页Web应用程序使用Flask和AngularJS构建单页Web应用程序Jun 17, 2023 am 08:49 AM

随着Web技术的飞速发展,单页Web应用程序(SinglePageApplication,SPA)已经成为一种越来越流行的Web应用程序模型。相比于传统的多页Web应用程序,SPA的最大优势在于用户感受更加流畅,同时服务器端的计算压力也大幅减少。在本文中,我们将介绍如何使用Flask和AngularJS构建一个简单的SPA。Flask是一款轻量级的Py

AngularJS基础入门介绍AngularJS基础入门介绍Apr 21, 2018 am 10:37 AM

这篇文章介绍的内容是关于AngularJS基础入门介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版

SublimeText3 中国語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。