Inhaltsverzeichnis
1. @Component Decorator@Component 装饰器
二、 selector 选择器
三、 host: {[key:string]:string}
四、 encapsulation(封装)
Heim Web-Frontend js-Tutorial Tiefes Verständnis des @Component-Dekorators in Angular

Tiefes Verständnis des @Component-Dekorators in Angular

May 27, 2022 pm 08:13 PM
angular angular.js

Component ist eine Unterklasse von Directive. Es handelt sich um einen Dekorator, der verwendet wird, um eine Klasse als Angular-Komponente zu kennzeichnen. Der folgende Artikel vermittelt Ihnen ein detailliertes Verständnis des @Component-Dekorators in Angular. Ich hoffe, er wird Ihnen hilfreich sein.

Tiefes Verständnis des @Component-Dekorators in Angular

1. @Component Decorator@Component 装饰器

1.1 <span style="font-size: 18px;">@Component</span> 装饰器的用途

声明一个组件时,在组件类的之上要用@Component装饰器来告知Angular这是一个组件。【相关教程推荐:《angular教程》】

import { Component, OnInit } from &#39;@angular/core&#39;;

@Component({
  selector: &#39;app-product-alerts&#39;,
  templateUrl: &#39;./product-alerts.component.html&#39;,
  styleUrls: [&#39;./product-alerts.component.css&#39;]
})
export class ProductAlertsComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

}
Nach dem Login kopieren

1.2 <span style="font-size: 18px;">@Component</span> 装饰器的常用选项

@Component 装饰器继承于 Directive ,这个css选择器用于在模板中标记出该指令,并触发该指令的实例化。

1.2.1 继承自@Directive装饰器的选项

1.1 <span style = "font-size: 18px;">@Component</span> Zweck des DekoratorsBei der Deklaration einer Komponente wird die @Component Für die Komponentenklasse muss ein Decorator verwendet werden, um Angular mitzuteilen, dass es sich um eine Komponente handelt. [Verwandte Tutorial-Empfehlungen: „“]@Component Der Dekorator erbt von Direktive, dieser CSS-Selektor wird verwendet, um die Direktive in der Vorlage zu markieren und die Instanziierung der Direktive auszulösen. + Selektorname, wird verwendet, um die Direktive (Komponente) in der Vorlage zu markieren und ihre Instanziierung auszulöseninputsstring[]Angular aktualisiert die Eingabeeigenschaften automatisch während der Änderungserkennung. Das Eingabeattribut definiert eine Reihe von Konfigurationselementen, die von DirectiveProperty auf BindingProperty verweisen: · DirectiveProperty wird verwendet, um die Eigenschaften innerhalb der Direktive anzugeben, in die Werte geschrieben werden sollen. · bindingProperty wird verwendet, um die DOM-Eigenschaft anzugeben, aus der der Wert gelesen werden soll. Wenn bindingProperty nicht angegeben wird, wird davon ausgegangen, dass es mit DirectiveProperty identisch ist. outputsEine Reihe von Ausgabeeigenschaften für die Ereignisbindung. Wenn eine Ausgabeeigenschaft ein Ereignis ausgibt, wird ein Handler in der dem Ereignis zugeordneten Vorlage aufgerufen. Jede Ausgabeeigenschaft ordnet „directiveProperty“ der „bindingProperty“ zu: · „directiveProperty“ gibt die Komponenteneigenschaft zum Ausgeben des Ereignisses an. · bindingProperty gibt die HTML-Eigenschaft an, an die der Event-Handler angehängt werden soll. providesEine Sammlung von Dienstanbietern exportAsstringEin oder mehrere Namen, die verwendet werden können, um diese Direktive einer Variablen in der Vorlage zuzuweisen. Wenn es mehrere Namen gibt, trennen Sie diese durch Kommas. Abfragen{[key:string]:any}Konfigurieren Sie einige Abfragen, die in diese Direktive eingefügt werden. Die Inhaltsabfrage wird vor dem Aufruf des ngAfterContentInit-Rückrufs festgelegt. Die Ansichtsabfrage wird vor dem Aufruf des ngAfterViewInit-Rückrufs festgelegt. jittrueWenn true, wird die Direktive/Komponente vom AOT-Compiler ignoriert und daher nur JIT-kompiliert. Diese Option dient der Unterstützung zukünftiger Ivy-Compiler und hat noch keine Auswirkung. host{[key:string]:string}Ordnen Sie mithilfe einer Reihe von Schlüssel-Wert-Paaren die Eigenschaften der Klasse den Bindungen des Host-Elements (Eigenschaft, Attribut und Ereignis) zu. Angular überprüft automatisch die Host-Eigenschaftsbindungen während der Änderungserkennung. Wenn sich der gebundene Wert ändert, aktualisiert Angular das Hostelement der Direktive. Wenn key eine Eigenschaft des Hostelements ist, wird der Eigenschaftswert an das angegebene DOM-Attribut weitergegeben. Wenn der Schlüssel ein statisches Attribut im DOM ist, wird der Attributwert an die im Hostelement angegebene Eigenschaft weitergegeben. Für die Ereignisverarbeitung: · Sein Schlüssel ist das DOM-Ereignis, das die Anweisung abhören möchte. Um ein globales Ereignis abzuhören, fügen Sie das Ziel, das Sie abhören möchten, vor dem Ereignisnamen hinzu. Das Ziel kann ein Fenster, ein Dokument oder ein Textkörper sein. · Sein Wert ist die Anweisung, die ausgeführt werden soll, wenn das Ereignis eintritt. Wenn diese Anweisung „false“ zurückgibt, wird die Funktion „preventDefault“ dieses DOM-Ereignisses aufgerufen. In dieser Anweisung kann auf die lokale Variable $event verwiesen werden, um Ereignisdaten abzurufen.

1.2.2 @Component自己特有的选项

Angular Tutorial
@Component({
    selector: &#39;app-element&#39;,
    template:  &#39;./element.component.html&#39;,
    styleUrls: [&#39;./element.component.css&#39;]
})
Nach dem Login kopieren
Nach dem Login kopieren
1.2 <span style="font-size: 18px;"> @Component</span> Allgemeine Optionen für Dekoratoren

string[]

Provider[]
OptionenTypBeschreibung
changeDetectionChangeDetectionStrategyNachdem die Komponente instanziiert wurde Angular erstellt einen Änderungsdetektor, der für die Weitergabe von Komponentenänderungen verantwortlich ist in individuellen verbindlichen Werten. Die Strategie ist einer der folgenden Werte:
· ChangeDetectionStrategy#OnPush(0) Setzt die Strategie auf CheckOnce (auf Anfrage).
· ChangeDetectionStrategy#Default(1) Setzen Sie die Strategie auf CheckAlways.
viewProvidersProvider[]Definiert einen Satz injizierbarer Objekte, die in verschiedenen untergeordneten Knoten der Ansicht verfügbar sind.
moduleIdstringDie ID des Moduls, das diese Komponente enthält. Die Komponente muss in der Lage sein, relative URLs aufzulösen, die in Vorlagen und Stylesheets verwendet werden. SystemJS exportiert die Variable __moduleName in jedes Modul. In CommonJS kann dies auf module.id gesetzt werden.
templateUrlstringDie URL der Komponentenvorlagendatei. Wenn es bereitgestellt wird, verwenden Sie template nicht, um Inline-Vorlagen bereitzustellen.
templatestringInline-Vorlage für Komponenten. Wenn es bereitgestellt wird, verwenden Sie templateUrl nicht, um die Vorlage bereitzustellen.
styleUrlsstring[]Eine oder mehrere URLs, die auf die Datei verweisen, die das CSS-Stylesheet dieser Komponente enthält.
stylesstring[]Ein oder mehrere Inline-CSS-Stile, die von dieser Komponente verwendet werden.
Animationenany[]Ein oder mehrere Animations-Trigger()-Aufrufe, einschließlich einiger State()- und Transition()-Definitionen.
encapsulationViewEncapsulationStyle-Kapselungsstrategie für Vorlagen und CSS-Stile. Werte sind:
· ViewEncapsulation.ShadowDom: Shadow DOM verwenden. Es funktioniert nur auf Plattformen, die Shadow DOM nativ unterstützen.
· ViewEncapsulation.Emulated: Verwenden Sie angepasstes CSS, um natives Verhalten zu emulieren.
· ViewEncapsulation.None: Globales CSS ohne Kapselung verwenden.
Wenn nicht angegeben, wird der Wert von CompilerOptions bezogen. Die Standard-Compileroption ist ViewEncapsulation.Emulated. Wenn die Richtlinie auf ViewEncapsulation.Emulated festgelegt ist und die Komponente keine Stile oder styleUrls angibt, wechselt sie automatisch zu ViewEncapsulation.None.
Interpolation[Zeichenfolge, Zeichenfolge]Überschreiben Sie die standardmäßigen Start- und Endtrennzeichen des Interpolationsausdrucks ({{ und }})
entryComponentsArrayany[]>
preserveWhitespacesbooleanWenn true, wird es beibehalten, wenn false, werden mögliche zusätzliche Leerzeichen aus der kompilierten Vorlage entfernt. Leerzeichen sind die Zeichen, die mit s in regulären JavaScript-Ausdrücken übereinstimmen. Der Standardwert ist „false“, sofern er nicht über Compiler-Optionen überschrieben wird.

二、 selector 选择器

可使用下列形式之一:

  • element-name: 根据元素名选取
  • [attribute]: 根据属性名选取
  • .class: 根据类名选取
  • [attribute=value]: 根据属性名和属性值选取
  • not(sub_selector): 只有当元素不匹配子选择器 sub_selector 的时候才选取
  • selector1, selector2: 无论 selector1 还是 selector2 匹配时都选取

2.1 <span style="font-size: 18px;">element-name</span>: 根据元素名选取

@Component({
    selector: &#39;app-element&#39;,
    template:  &#39;./element.component.html&#39;,
    styleUrls: [&#39;./element.component.css&#39;]
})
Nach dem Login kopieren
Nach dem Login kopieren
<app-element></app-element>
Nach dem Login kopieren

2.2 <span style="font-size: 18px;">[attribute]</span>: 根据属性名选取

@Component({
    selector: &#39;[app-element]&#39;,
    template:  &#39;./element.component.html&#39;,
    styleUrls: [&#39;./element.component.css&#39;]
})
Nach dem Login kopieren
<div app-element></div>
Nach dem Login kopieren

2.3 <span style="font-size: 18px;">.class</span>: 根据类名选取

@Component({
    selector: &#39;.app-element&#39;,
    template:  &#39;./element.component.html&#39;,
    styleUrls: [&#39;./element.component.css&#39;]
})
Nach dem Login kopieren
<div class="app-element"></div>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

三、 host: {[key:string]:string}

使用一组键-值对,把类的属性映射到宿主元素的绑定(Property、Attribute 和事件)。
Angular 在变更检测期间会自动检查宿主 Property 绑定。 如果绑定的值发生了变化,Angular 就会更新该指令的宿主元素。

  • 当 key 是宿主元素的 Property 时,这个 Property 值就会传播到指定的 DOM 属性。
  • 当 key 是 DOM 中的静态 Attribute 时,这个 Attribute 值就会传播到宿主元素上指定的 Property 去。
  • 注意属性的值默认为变量,如果直接使用属性值,需要加字符串单引号或者双引号,变量直接在组件里定义即可

对于事件处理:

  • 它的 key 就是该指令想要监听的 DOM 事件。 要想监听全局事件,请把要监听的目标添加到事件名的前面。 这个目标可以是 window、document 或 body。
  • 它的 value 就是当该事件发生时要执行的语句。如果该语句返回 false,那么就会调用这个 DOM 事件的 preventDefault 函数。 这个语句中可以引用局部变量 $event 来获取事件数据。

3.1 <span style="font-size: 18px;">attribute</span><span style="font-size: 18px;">property</span>

  • property:dom元素作为对象附加的内容,例如childNodes、firstChild等
  • attribute:HTML标签特性是dom节点自带的属性

异同:

  • 部分属性既属于 property ,又属于 attribute ,比如 id
  • attribute 初始化后不会再改变; property 默认值为初始值,会随着 dom 更新

所以在 angular2 中双向绑定实现是由 dom 的 property 实现的,所以指令绑定的是 property ,但是在某些情况下 dom 不存在某个 property 比如 colspan,rowspan 等,这时想要绑定 html 标签特性需要用到 attr:

<table width="100%" border="10px solid">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td [attr.colspan]=colnum>January</td>
  </tr>
  <tr>
    <td [attr.colspan]=colnum>February</td>
  </tr>
</table>

let colnum:number = 2;
Nach dem Login kopieren

3.2 使用 <span style="font-size: 18px;">host</span> 绑定 <span style="font-size: 18px;">class</span>

@Component({
    selector: &#39;.app-element&#39;,
    template:  &#39;./element.component.html&#39;,
    styleUrls: [&#39;./element.component.css&#39;],
    host: {
        &#39;[class.default-class]&#39;: &#39;useDefault&#39;
    },
    encapsulation: ViewEncapsulation.None // 让宿主元素也用上 element.component.css 样式。否则,默认胶囊封装避免CSS污染。
})
export class AppElementComponent {
  @Input() useDefault = true;
}
Nach dem Login kopieren
<div class="app-element"></div>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

3.3 使用 <span style="font-size: 18px;">host</span> 绑定 <span style="font-size: 18px;">style</span>

@Component({
    selector: &#39;.app-element&#39;,
    template:  &#39;./element.component.html&#39;,
    styleUrls: [&#39;./element.component.css&#39;],
    host: {
        &#39;[style.background]&#39;: &#39;inputBackground&#39;
    }
})
export class AppElementComponent {
  @Input() inputBackground = &#39;red&#39;;
}
Nach dem Login kopieren
<div class="app-element"></div>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

3.4 使用 <span style="font-size: 18px;">host</span> 绑定事件

@Component({
    selector: &#39;.app-element&#39;,
    template:  &#39;./element.component.html&#39;,
    styleUrls: [&#39;./element.component.css&#39;],
    host: {
        &#39;(click)&#39;: &#39;onClick($event)&#39;
    }
})
export class AppElementComponent {
  public onClick($event) {
    console.log($event);
  }
}
Nach dem Login kopieren
<div class="app-element"></div>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

四、 encapsulation(封装)

供模板和 CSS 样式使用的样式封装策略。

4.1 Web Components

通过一种标准化的非侵入的方式封装一个组件,每个组件能组织好它自身的 HTML 结构、CSS 样式、JavaScript 代码,并且不会干扰页面上的其他元素。

Web Components 由以下四种技术组成:

  • Custom Elements: 自定义元素HTML
  • Templates: HTML模板
  • Shadow DOM: 影子DOMHTML
  • Imports: HTML导入

4.2 Shadow DOM

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Shadow DOM</title>
    <style type="text/css">
        .shadowroot_son {
            color: #f00;
        }
    </style>
</head>
<body>
<p>我不在 Shadow Host内</p>
<div>Hello, world!</div>
<script>
 // 影子宿主(shadow host)
 var shadowHost = document.querySelector(&#39;.shadowhost&#39;);
 // 创建影子根(shadow root)
 var shadowRoot = shadowHost.createShadowRoot();
 // 影子根作为影子树的第一个节点,其他的节点比如p节点都是它的子节点。
 shadowRoot.innerHTML = &#39;<p>我在 Shadow Host内</p>&#39;;
</script>
</body>
<html>
Nach dem Login kopieren

4.3 <span style="font-size: 18px;">ViewEncapsulation</span>

ViewEncapsulation 允许设置三个可选的值:

  • ViewEncapsulation.Emulated: 无 Shadow DOM,但是通过 Angular 提供的样式包装机制来封装组件,使得组件的样式不受外部影响。这是 Angular 的默认设置。
  • ViewEncapsulation.ShadowDom: 使用原生的 Shadow DOM 特性
  • ViewEncapsulation.None: 无 Shadow DOM,并且也无样式包装

4.3.1 ViewEncapsulation.None

import { Component, ViewEncapsulation } from &#39;@angular/core&#39;;

@Component({
  selector: &#39;my-app&#39;,
  template: `
    <h4>Welcome to Angular World</h4>
    <p class="greet">Hello {{name}}</p>
  `,
  styles: [`
    .greet {
      background: #369;
      color: white;
    }
  `],
  encapsulation: ViewEncapsulation.None // None | Emulated | ShadowDom
})
export class AppComponent {
  name: string = &#39;Semlinker&#39;;
}
Nach dem Login kopieren

ViewEncapsulation.None 设置的结果是没有 Shadow DOM,并且所有的样式都应用到整个 document,换句话说,组件的样式会受外界影响,可能被覆盖掉。

4.3.2 ViewEncapsulation.Emulated

import { Component, ViewEncapsulation } from &#39;@angular/core&#39;;

@Component({
  selector: &#39;my-app&#39;,
  ...,
  encapsulation: ViewEncapsulation.Emulated // None | Emulated | ShadowDom
})
export class AppComponent {
  name: string = &#39;Semlinker&#39;;
}
Nach dem Login kopieren

ViewEncapsulation.Emulated 设置的结果是没有 Shadow DOM,但是通过 Angular 提供的样式包装机制来封装组件,使得组件的样式不受外部影响。虽然样式仍然是应用到整个 document,但 Angular 为 .greet 类创建了一个 [_ngcontent-cmy-0] 选择器。可以看出,我们为组件定义的样式,被 Angular 修改了。其中的 _nghost-cmy- 和 _ngcontent-cmy- 用来实现局部的样式

4.3.3 ViewEncapsulation.ShadowDom

import { Component, ViewEncapsulation } from &#39;@angular/core&#39;;

@Component({
  selector: &#39;my-app&#39;,
  ...,
  encapsulation: ViewEncapsulation.ShadowDom // None | Emulated | ShadowDom
})
export class AppComponent {
  name: string = &#39;Semlinker&#39;;
}
Nach dem Login kopieren

ViewEncapsulation.ShadowDom 设置的结果是使用原生的 Shadow DOM 特性。Angular 会把组件按照浏览器支持的 Shadow DOM 形式渲染

更多编程相关知识,请访问:编程视频!!

Das obige ist der detaillierte Inhalt vonTiefes Verständnis des @Component-Dekorators in Angular. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Angular Learning spricht über eigenständige Komponenten (Standalone Component) Angular Learning spricht über eigenständige Komponenten (Standalone Component) Dec 19, 2022 pm 07:24 PM

Dieser Artikel wird Sie dabei unterstützen, Angular weiter zu lernen und die eigenständige Komponente (Standalone Component) in Angular kurz zu verstehen. Ich hoffe, er wird Ihnen hilfreich sein!

So installieren Sie Angular unter Ubuntu 24.04 So installieren Sie Angular unter Ubuntu 24.04 Mar 23, 2024 pm 12:20 PM

Angular.js ist eine frei zugängliche JavaScript-Plattform zum Erstellen dynamischer Anwendungen. Es ermöglicht Ihnen, verschiedene Aspekte Ihrer Anwendung schnell und klar auszudrücken, indem Sie die Syntax von HTML als Vorlagensprache erweitern. Angular.js bietet eine Reihe von Tools, die Sie beim Schreiben, Aktualisieren und Testen Ihres Codes unterstützen. Darüber hinaus bietet es viele Funktionen wie Routing und Formularverwaltung. In dieser Anleitung wird erläutert, wie Angular auf Ubuntu24 installiert wird. Zuerst müssen Sie Node.js installieren. Node.js ist eine JavaScript-Ausführungsumgebung, die auf der ChromeV8-Engine basiert und es Ihnen ermöglicht, JavaScript-Code auf der Serverseite auszuführen. In Ub sein

Detaillierte Erläuterung des Angular Learning State Managers NgRx Detaillierte Erläuterung des Angular Learning State Managers NgRx May 25, 2022 am 11:01 AM

Dieser Artikel vermittelt Ihnen ein detailliertes Verständnis des Angular-Statusmanagers NgRx und stellt Ihnen die Verwendung von NgRx vor. Ich hoffe, er wird Ihnen hilfreich sein!

Ein Artikel über serverseitiges Rendering (SSR) in Angular Ein Artikel über serverseitiges Rendering (SSR) in Angular Dec 27, 2022 pm 07:24 PM

Kennen Sie Angular Universal? Es kann dazu beitragen, dass die Website eine bessere SEO-Unterstützung bietet!

Angular + NG-ZORRO entwickeln schnell ein Backend-System Angular + NG-ZORRO entwickeln schnell ein Backend-System Apr 21, 2022 am 10:45 AM

In diesem Artikel erfahren Sie, wie Sie mit Angular in Kombination mit ng-zorro schnell ein Backend-System entwickeln. Ich hoffe, dass er für alle hilfreich ist.

Eine kurze Analyse der Verwendung des Monaco-Editors in Angular Eine kurze Analyse der Verwendung des Monaco-Editors in Angular Oct 17, 2022 pm 08:04 PM

Wie verwende ich den Monaco-Editor in Angular? Der folgende Artikel dokumentiert die Verwendung des Monaco-Editors in Angular, der kürzlich in einem Unternehmen verwendet wurde. Ich hoffe, dass er für alle hilfreich sein wird!

Wie man PHP und Angular für die Frontend-Entwicklung verwendet Wie man PHP und Angular für die Frontend-Entwicklung verwendet May 11, 2023 pm 04:04 PM

Mit der rasanten Entwicklung des Internets wird auch die Front-End-Entwicklungstechnologie ständig verbessert und iteriert. PHP und Angular sind zwei Technologien, die in der Frontend-Entwicklung weit verbreitet sind. PHP ist eine serverseitige Skriptsprache, die Aufgaben wie die Verarbeitung von Formularen, die Generierung dynamischer Seiten und die Verwaltung von Zugriffsberechtigungen übernehmen kann. Angular ist ein JavaScript-Framework, mit dem Single-Page-Anwendungen entwickelt und komponentenbasierte Webanwendungen erstellt werden können. In diesem Artikel erfahren Sie, wie Sie PHP und Angular für die Frontend-Entwicklung verwenden und wie Sie diese kombinieren

Eine kurze Analyse unabhängiger Komponenten in Angular und deren Verwendung Eine kurze Analyse unabhängiger Komponenten in Angular und deren Verwendung Jun 23, 2022 pm 03:49 PM

Dieser Artikel führt Sie durch die unabhängigen Komponenten in Angular, wie Sie eine unabhängige Komponente in Angular erstellen und wie Sie vorhandene Module in die unabhängige Komponente importieren. Ich hoffe, er wird Ihnen hilfreich sein!

See all articles