Maison interface Web js tutoriel Explication détaillée de l'utilisation des instructions personnalisées dans Angular17

Explication détaillée de l'utilisation des instructions personnalisées dans Angular17

Apr 13, 2018 am 11:47 AM
自定义 详解

Cette fois, je vais vous apporter une explication détaillée de l'utilisation des instructions personnalisées dans Angular17 Quelles sont les précautions lors de l'utilisation d'instructions personnalisées dans Angular17 Voici des cas pratiques, jetons un coup d'œil ? .

1 Qu'est-ce que le HTML

Le document HTML est un fichier texte brut qui contient des éléments HTML, des styles CSS et des codes JavaScript ; les éléments HTML sont rendus par des balises, et le navigateur crée chaque balise. un objet DOM avec des attributs. Le navigateur restitue le contenu en rendant ces nœuds DOM. Le contenu que l'utilisateur voit dans le navigateur est le résultat du rendu par le navigateur de l'objet DOM.

2 Classement des consignes

 Composants, directives d'attributs, directives structurelles

 Pour des points de connaissances spécifiques, veuillez vous référer à "Angular2 Revealed"

3 fait référence à certaines constantes couramment utilisées dans la définition des instructions

  Directive 3.1

Utilisé pour décorer la classe du contrôleur pour indiquer que la classe du contrôleur est une classe de contrôleur de commande personnalisée

  3.2 ElementRef

Utilisée comme référence à un objet DOM, l'injection de dépendances est effectuée via le constructeur. Son instance représente l'objet DOM de l'élément marqué d'une instruction personnalisée ; chaque élément marqué d'une instruction personnalisée aura automatiquement un ElementRef ; object. comme référence à l'objet DOM de l'élément (prérequis : ElementRef est injecté de manière dépendante dans le contrôleur de l'instruction personnalisée)

  3.3 Rendu2

Les instances de Render2 sont utilisées pour faire fonctionner les nœuds DOM, car Angular ne recommande pas d'utiliser directement les nœuds DOM ; Render2 n'est pris en charge qu'à partir d'Angular4, et les versions précédentes utilisaient Render ; chaque élément marqué d'une instruction personnalisée aura une instance Render2 pour faire fonctionner les attributs DOM ; de l'élément (prérequis : Render2 est une dépendance injectée dans le contrôleur de la directive personnalisée)

  3.4 HostListener

Annotations utilisées pour agrémenter les méthodes de déclenchement d'événements

4 instructions d'attribut personnalisé

 Une directive d'attribut personnalisée nécessite une classe de contrôleur décorée avec le décorateur @Directive

1

2

3

4

5

6

7

import { Directive } from '@angular/core';

@Directive({

 selector: '[appDirectiveTest02]'

})

export class DirectiveTest02Directive {

 constructor() { }

}

Copier après la connexion

4.1 Implémenter les instructions d'attribut personnalisé

    4.1.1 Créer une classe de contrôle d'instructions d'attribut personnalisée

Astuce 01 : Créez un module pour placer spécifiquement des instructions personnalisées

1

ng g d directive/test/directive-test02 --spec=false --module=directive

Copier après la connexion

   4.1.2 Injection de dépendances ElementRef  dans la classe du contrôleur

1

2

3

constructor(

 private el: ElementRef

 ) {}

Copier après la connexion

     4.1.3 Changer la couleur d'arrière-plan de l'objet DOM correspondant à l'élément marqué avec une instruction personnalisée via une instance ElementRef 

1

2

3

 ngOnInit() {

  this.el.nativeElement.style.backgroundColor = 'skyblue';

 }

Copier après la connexion

     4.1.3 Spécifier les exportations       

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

import { NgModule } from '@angular/core';

import { CommonModule } from '@angular/common';

import { DirectiveTest01Directive } from './test/directive-test01.directive';

import { SharedModule } from '../shared/shared.module';

import { DirectiveTest02Directive } from './test/directive-test02.directive';

@NgModule({

 imports: [

  CommonModule

 ],

 declarations: [

  DirectiveTest01Directive,

  DirectiveTest02Directive],

 exports: [

  DirectiveTest01Directive,

  DirectiveTest02Directive

 ]

})

export class DirectiveModule { }

Copier après la connexion

dans le module de commande personnalisé      4.1.4 Importez le module d'instructions personnalisées dans le module où se trouve le composant qui doit utiliser l'instruction spécifiée

Astuce 01 : Les instructions personnalisées sont généralement utilisées plusieurs fois, de sorte que le module d'instructions personnalisées est généralement importé dans le module partagé et exporté depuis le module partagé, de sorte que les autres modules n'ont besoin que d'importer le module partagé

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

import { NgModule } from '@angular/core';

import { CommonModule } from '@angular/common';

import { RouterModule } from '@angular/router';

import { 

 MdToolbarModule,

 MdSidenavModule,

 MdIconModule,

 MdButtonModule,

 MdCardModule,

 MdInputModule,

 MdRadioModule,

 MdRadioButton

 } from '@angular/material';

import { FormsModule, ReactiveFormsModule } from '@angular/forms';

import { HttpModule } from '@angular/http';

import { DirectiveModule } from '../directive/directive.module'

@NgModule({

 imports: [

  CommonModule,

  RouterModule,

  FormsModule,

  ReactiveFormsModule,

  HttpModule,

  MdToolbarModule,

  MdSidenavModule,

  MdIconModule,

  MdButtonModule,

  MdCardModule,

  MdInputModule,

  DirectiveModule,

  MdRadioModule

 ],

 declarations: [],

 exports: [

  CommonModule,

  RouterModule,

  FormsModule,

  ReactiveFormsModule,

  HttpModule,

  MdToolbarModule,

  MdSidenavModule,

  MdIconModule,

  MdButtonModule,

  MdCardModule,

  MdInputModule,

  DirectiveModule,

  MdRadioButton

 ]

})

export class SharedModule { }

Copier après la connexion

   4.1.5 Utilisez simplement le sélecteur correspondant au composant personnalisé dans le composant

Le sélecteur d'une directive personnalisée est spécifié par les métadonnées du sélecteur du décorateur @Directive

 Il suffit de marquer le sélecteur de la directive personnalisée directement dans l'élément    

1

2

3

4

5

6

7

8

9

<p class="panel panel-primary">

  <p class="panel panel-heading">实现自定义属性指令</p>

  <p class="panel-body">

    <button md-raised-button appDirectiveTest02>实现自定义指令的按钮</button>

    <br /><br />

    <button md-raised-button>未实现自定以指令的按钮</button>

  </p>

  <p class="panel-footer">2018-1-20 22:47:06</p>

</p>

Copier après la connexion

    4.1.6 Résumé du code

1

2

3

4

5

6

7

8

9

10

11

12

13

import { Directive, ElementRef } from '@angular/core';

import { OnInit } from '../../../../node_modules/_@angular_core@4.4.6@@angular/core/src/metadata/lifecycle_hooks';

@Directive({

 selector: '[appDirectiveTest02]'

})

export class DirectiveTest02Directive implements OnInit {

 constructor(

 private el: ElementRef

 ) {}

 ngOnInit() {

 this.el.nativeElement.style.backgroundColor = 'skyblue';

 }

}

Copier après la connexion

 4.2 Lier les attributs d'entrée aux instructions d'attribut personnalisées

Dans les instructions d'attribut personnalisé implémentées dans 4.1, la couleur d'arrière-plan est codée en dur et ne peut pas être modifiée. Nous pouvons lier les attributs d'entrée aux instructions pour réaliser le transfert de données, afin d'atteindre l'objectif de changement dynamique

.      4.2.1 Ajouter un attribut d'entrée myColor

1

2

3

4

5

6

7

8

9

10

11

12

13

14

import { Directive, ElementRef, OnInit, Input } from '@angular/core';

@Directive({

 selector: '[appDirectiveTest02]'

})

export class DirectiveTest02Directive implements OnInit {

 @Input()

 myColor: string;

 constructor(

  private el: ElementRef

 ) {}

 ngOnInit() {

  this.el.nativeElement.style.backgroundColor = this.myColor;

 }

}

Copier après la connexion

dans le contrôleur de la directive d'attribut personnalisé      4.2.2 Attribuer une valeur à la propriété myColor dans le composant

      技巧01:在给输入属性赋值时,等号右边如果不是一个变量就需要用单引号括起来
View Code
    4.2.3 效果展示

    4.2.4 改进

      可以通过自定义属性指令的选择器来实现数据传输

      》利用自定义属性指令的选择器作为输入属性myColor输入属性的别名


      》在组件中直接利用自定义指令的选择器作为输入属性

View Code
      》 效果展示

  4.3 响应用户操作

    在自定义属性指令中通过监听DOM对象事件来进行一些操作

    4.2.1 引入 HostListener 注解并编写一个方法    

      技巧01:HostListener注解可以传入两个参数

        参数1 -> 需要监听的事件名称

        参数2 -> 事件触发时传递的方法

1

2

3

 @HostListener('click', ['$event'])

 onClick(ev: Event) {   

          }  

Copier après la connexion

    4.2.2 在方法中实现一些操作 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

@HostListener('click', ['$event'])

 onClick(ev: Event) {

 if (this.el.nativeElement === ev.target) {

  if (this.el.nativeElement.style.backgroundColor === 'green') {

  this.el.nativeElement.style.backgroundColor = 'skyblue';

  else {

  this.el.nativeElement.style.backgroundColor = 'green';

  }

 }

 // if (this.el.nativeElement.style.backgroundColor === 'yellow') {

 // this.el.nativeElement.style.backgroundColor = 'green';

 // } else {

 // this.el.nativeElement.style.backgroundColor = 'yellow';

 // }

 }

Copier après la connexion

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

实现react服务器渲染的步奏详解

JS里EventLoop的使用详解

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment configurer rapidement un avatar personnalisé dans Netflix Comment configurer rapidement un avatar personnalisé dans Netflix Feb 19, 2024 pm 06:33 PM

Un avatar sur Netflix est une représentation visuelle de votre identité de streaming. Les utilisateurs peuvent aller au-delà de l'avatar par défaut pour exprimer leur personnalité. Continuez à lire cet article pour savoir comment définir une photo de profil personnalisée dans l'application Netflix. Comment définir rapidement un avatar personnalisé dans Netflix Dans Netflix, il n'y a pas de fonctionnalité intégrée pour définir une photo de profil. Cependant, vous pouvez le faire en installant l'extension Netflix sur votre navigateur. Tout d’abord, installez une photo de profil personnalisée pour l’extension Netflix sur votre navigateur. Vous pouvez l'acheter dans la boutique Chrome. Après avoir installé l'extension, ouvrez Netflix sur votre navigateur et connectez-vous à votre compte. Accédez à votre profil dans le coin supérieur droit et cliquez sur

Explication détaillée de l'obtention des droits d'administrateur dans Win11 Explication détaillée de l'obtention des droits d'administrateur dans Win11 Mar 08, 2024 pm 03:06 PM

Le système d'exploitation Windows est l'un des systèmes d'exploitation les plus populaires au monde et sa nouvelle version Win11 a beaucoup attiré l'attention. Dans le système Win11, l'obtention des droits d'administrateur est une opération importante. Les droits d'administrateur permettent aux utilisateurs d'effectuer davantage d'opérations et de paramètres sur le système. Cet article présentera en détail comment obtenir les autorisations d'administrateur dans le système Win11 et comment gérer efficacement les autorisations. Dans le système Win11, les droits d'administrateur sont divisés en deux types : administrateur local et administrateur de domaine. Un administrateur local dispose de tous les droits d'administration sur l'ordinateur local

Explication détaillée du fonctionnement de la division dans Oracle SQL Explication détaillée du fonctionnement de la division dans Oracle SQL Mar 10, 2024 am 09:51 AM

Explication détaillée de l'opération de division dans OracleSQL Dans OracleSQL, l'opération de division est une opération mathématique courante et importante, utilisée pour calculer le résultat de la division de deux nombres. La division est souvent utilisée dans les requêtes de bases de données. Comprendre le fonctionnement de la division et son utilisation dans OracleSQL est donc l'une des compétences essentielles des développeurs de bases de données. Cet article discutera en détail des connaissances pertinentes sur les opérations de division dans OracleSQL et fournira des exemples de code spécifiques pour référence aux lecteurs. 1. Opération de division dans OracleSQL

Comment personnaliser les paramètres des touches de raccourci dans Eclipse Comment personnaliser les paramètres des touches de raccourci dans Eclipse Jan 28, 2024 am 10:01 AM

Comment personnaliser les paramètres des touches de raccourci dans Eclipse ? En tant que développeur, la maîtrise des touches de raccourci est l'une des clés pour améliorer l'efficacité du codage dans Eclipse. En tant qu'environnement de développement intégré puissant, Eclipse fournit non seulement de nombreuses touches de raccourci par défaut, mais permet également aux utilisateurs de les personnaliser selon leurs propres préférences. Cet article explique comment personnaliser les paramètres des touches de raccourci dans Eclipse et donne des exemples de code spécifiques. Ouvrez Eclipse Tout d'abord, ouvrez Eclipse et entrez

Le processus de fonctionnement de la disposition d'écran personnalisée edius Le processus de fonctionnement de la disposition d'écran personnalisée edius Mar 27, 2024 pm 06:50 PM

1. L'image ci-dessous est la disposition d'écran par défaut d'edius. La disposition par défaut de la fenêtre EDIUS est une disposition horizontale. Par conséquent, dans un environnement à moniteur unique, de nombreuses fenêtres se chevauchent et la fenêtre d'aperçu est en mode fenêtre unique. 2. Vous pouvez activer le [Mode double fenêtre] via la barre de menu [Affichage] pour que la fenêtre d'aperçu affiche simultanément la fenêtre de lecture et la fenêtre d'enregistrement. 3. Vous pouvez restaurer la disposition d'écran par défaut via [Barre de menu Affichage> Disposition des fenêtres> Général]. De plus, vous pouvez également personnaliser la disposition qui vous convient et l'enregistrer comme disposition d'écran couramment utilisée : faites glisser la fenêtre vers une disposition qui vous convient, puis cliquez sur [Affichage > Disposition de la fenêtre > Enregistrer la disposition actuelle > Nouveau], et dans le pop-up [Enregistrer la mise en page actuelle] Mise en page] entrez le nom de la mise en page dans la petite fenêtre et cliquez sur OK

Comment personnaliser l'axe X et l'axe Y dans Excel ? (Comment personnaliser l'échelle des axes Excel) Comment personnaliser l'axe X et l'axe Y dans Excel ? (Comment personnaliser l'échelle des axes Excel) Mar 14, 2024 pm 02:10 PM

Dans un tableau Excel, vous devrez parfois insérer des axes de coordonnées pour voir l'évolution des données de manière plus intuitive. Certains amis ne savent toujours pas comment insérer les axes de coordonnées dans le tableau. Ensuite, je partagerai avec vous comment personnaliser l'échelle des axes de coordonnées dans Excel. Méthode d'insertion de l'axe des coordonnées : 1. Dans l'interface Excel, sélectionnez les données. 2. Dans l'interface d'insertion, cliquez pour insérer un histogramme ou un histogramme. 3. Dans l'interface développée, sélectionnez le type de graphique. 4. Dans l'interface contextuelle du tableau, cliquez sur Sélectionner les données. 5. Dans l'interface étendue, vous pouvez la personnaliser.

Explication détaillée du rôle et de l'utilisation de l'opérateur modulo PHP Explication détaillée du rôle et de l'utilisation de l'opérateur modulo PHP Mar 19, 2024 pm 04:33 PM

L'opérateur modulo (%) en PHP est utilisé pour obtenir le reste de la division de deux nombres. Dans cet article, nous discuterons en détail du rôle et de l'utilisation de l'opérateur modulo et fournirons des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. 1. Le rôle de l'opérateur modulo En mathématiques, lorsqu'on divise un entier par un autre entier, on obtient un quotient et un reste. Par exemple, lorsque l’on divise 10 par 3, le quotient est 3 et le reste est 1. L'opérateur modulo est utilisé pour obtenir ce reste. 2. Utilisation de l'opérateur modulo En PHP, utilisez le symbole % pour représenter le module

Analyse détaillée du parcours d'apprentissage du langage C Analyse détaillée du parcours d'apprentissage du langage C Feb 18, 2024 am 10:38 AM

En tant que langage de programmation largement utilisé dans le domaine du développement de logiciels, le langage C est le premier choix de nombreux programmeurs débutants. L'apprentissage du langage C peut non seulement nous aider à acquérir des connaissances de base en programmation, mais également à améliorer nos capacités de résolution de problèmes et de réflexion. Cet article présentera en détail une feuille de route d'apprentissage du langage C pour aider les débutants à mieux planifier leur processus d'apprentissage. 1. Apprendre la grammaire de base Avant de commencer à apprendre le langage C, nous devons d'abord comprendre les règles de grammaire de base du langage C. Cela inclut les variables et les types de données, les opérateurs, les instructions de contrôle (telles que les instructions if,

See all articles