


Eine kurze Diskussion über die Grundkenntnisse von Komponenten (@Component) in Angular
Dieser Artikel führt Sie in die Grundkenntnisse der Komponenten (@Component) in Angular ein. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Umgebung:
- Angular CLI: 11.0.6
- Angular: 11.0.7
- Node: 12.18.3
- npm: 6.14.6
- IDE: Visual. Studio Code
1. Übersicht
Komponenten sind die Hauptbausteine von Angular-Anwendungen. Jede Komponente enthält die folgenden Teile:
- Eine HTML-Vorlage zum Deklarieren des auf der Seite darzustellenden Inhalts
- Eine Typescript-Klasse zum Definieren des Verhaltens
- Ein CSS-Selektor zum Definieren, wie die Komponente in der Vorlage verwendet wird
- ( Optional) CSS-Stil, der auf die Vorlage angewendet werden soll
Komponente kann eine Seite oder eine Komponente (Steuerelement) sein. Immer ist ein Seitenelement. [Verwandte Tutorial-Empfehlung: „Angular Tutorial“]
Jede Komponente ist Teil von NgModule, sodass sie von anderen Anwendungen und anderen Komponenten aufgerufen werden kann. Um eine Komponente als Mitglied von NgModule zu definieren, sollten Entwickler die von ihnen entwickelte Komponente im Deklarationsattribut von NgModule auflisten.
Darüber hinaus können Entwickler Metadaten über den Component-Modifikator (d. h. @Component) konfigurieren, sodass Components ihre laufende Umgebung über verschiedene Life-Cycle-Hooks steuern können.
2. Komponente erstellen
Basierend auf AngularCLI kann eine Komponente einfach erstellt werden. Führen Sie in dem Verzeichnis, in dem Sie die Komponente erstellen möchten, den folgenden Befehl aus:
ng generate component <component-name>
z. B. ng generic Component MyComponent
AngularCLI generiert automatisch einen Ordner und 4 Dateien: ng generate component MyComponent
AngularCLI会自动生成一个文件夹和4个文件:
- 一个以该组件命名的文件夹(e.g my-component)
- 一个组件文件 < component-name >.component.ts(e.g my-component.component.ts)
- 一个模板文件 < component-name >.component.html(e.g my-component.component.html)
- 一个 CSS 文件, < component-name >.component.css(e.g my-component.component.css)
- 测试文件 < component-name >.component.spec.ts(e.g my-component.component.spec.ts)
对于Component,所有文件名都会自动增加Component后缀,所以不建议< component-name > 中带有‘component’这个单词。
@Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.css'] }) export class MyComponentComponent implements OnInit { constructor() { } ngOnInit(): void { } }
以上是核心的ts文件,指定了selector(CSS 选择器),template(html)文件,css文件。html/css文件如果需要可以多个component公用。尤其是css,可以看到参数是Array,所以可以制定多个css。
2.1. 组件模板
组件模板,即HTML部分,可以是一个html文件,也可以是一段html描述,是等价的。Angular 组件需要一个用 template 或 templateUrl 定义的模板。但你不能在组件中同时拥有这两个语句。
1、html 文件方式
@Component({ selector: 'app-component-overview', templateUrl: './component-overview.component.html', })
2、html代码方式
@Component({ selector: 'app-component-overview', template: '<h1>Hello World!</h1>', })
3. 视图封装模式
在 Angular 中,组件的 CSS 样式被封装进了自己的视图中,而不希望影响到应用程序的其它部分。这部分也是可以通过配置去进行控制的。
@Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', encapsulation: ViewEncapsulation.None, styleUrls: ['./my-component.component.css'] })
可以看到,增加了一个encapsulation
- One benannt nach der Komponentenordner (z. B. meine Komponente) Eine Komponentendatei < Komponentenname >.component.ts (z. B. meine-Komponente.komponente.ts) Eine Vorlagendatei < Komponentenname >.component. html (z. B. my-component.component.html)Eine CSS-Datei, < Komponentenname >.component.css (z. B. my-component.component.css)
Testdatei < Komponentenname >. Component.spec.ts (z. B. my-component.component.spec.ts)Für Component wird allen Dateinamen automatisch das Component-Suffix hinzugefügt, daher wird nicht empfohlen, „component“ in < > Wort.
:host { }
🎜🎜2.1. Komponentenvorlage🎜🎜🎜🎜Die Komponentenvorlage, also der HTML-Teil, kann eine HTML-Datei oder eine äquivalente HTML-Beschreibung sein. Angular-Komponenten erfordern eine Vorlage, die mit template oder templateUrl definiert ist. Sie können jedoch nicht beide Anweisungen gleichzeitig in einer Komponente haben. 1. HTML-Dateimethode 🎜 ohne Auswirkungen auf andere Teile der Anwendung. Dieser Teil kann auch über die Konfiguration gesteuert werden. 🎜
@Component({ selector: 'app-my-component', template: '<h1>Hello World!</h1>', styles: ['h1 { font-weight: normal; }'] })
encapsulation
-Attribut (Kapselungsmodus anzeigen) hinzugefügt wurde. Sie können den Kapselungsmodus jeder Komponente einzeln steuern, indem Sie den Ansichtskapselungsmodus für die Metadaten der Komponente festlegen. Die optionalen Kapselungsmodi lauten wie folgt: 🎜🎜🎜Der emulierte Modus (Standardwert) simuliert das Verhalten von Shadow DOM durch Vorverarbeiten (und Umbenennen) von CSS-Code, um den Zweck zu erreichen, CSS-Stile auf Komponentenansichten zu beschränken. Weitere Informationen finden Sie in Anhang 1. (Hinweis: Nur eingehende, nicht ausgehende, globale Stile können eingehen, Komponentenstile können nicht ausgehen.) 🎜🎜Der ShadowDom-Modus verwendet die native Shadow-DOM-Implementierung des Browsers, um ein Shadow-DOM an das Hostelement der Komponente anzuhängen. Die Ansicht der Komponente ist an dieses Shadow-DOM angehängt und die Stile der Komponente sind ebenfalls in diesem Shadow-DOM enthalten. (Erklärung: Kein Ein- oder Ausgang, keine Stile können eingehen und Komponentenstile können nicht ausgehen.) 🎜🎜None bedeutet, dass Angular keine Ansichtskapselung verwendet. Angular fügt CSS zu globalen Stilen hinzu. Die zuvor besprochenen Scoping-, Isolations- und Schutzregeln gelten nicht. Im Wesentlichen ist dies dasselbe, als würden Sie die Stile der Komponente direkt in HTML einfügen. 🎜🎜🎜🎜🎜3.1. Spezieller Selektor :host🎜🎜🎜🎜Verwenden Sie den Pseudoklassenselektor :host, um Elemente im Komponenten-Hostelement auszuwählen (relativ zu Elementen innerhalb der Komponentenvorlage). Die Option :host ist die einzige Möglichkeit, ein Hostelement als Ziel festzulegen. Andernfalls können Sie ihn nicht angeben, da der Host nicht Teil der eigenen Vorlage der Komponente, sondern Teil der Vorlage der übergeordneten Komponente ist. 🎜🎜z.B.🎜:host { }
3.2. inline-styles
默认AngularCLI生成的component,css在一个单独文件中。当然,同html模板类似,如果需要,你也可以制定css样式写在ts中, 不单独放到一个文件中。命令:ng generate component MyComponent --inline-style
。
生成component如下
@Component({ selector: 'app-my-component', template: '<h1>Hello World!</h1>', styles: ['h1 { font-weight: normal; }'] })
4. 总结
- Angular CLI辅助创建一个component所需的多个文件
- 建议html/css/ts分开
- 在期望目录下执行Angular CLI命令,可以生成到制定目录
-
ng generate component XXX
可以简写为ng g c
更多编程相关知识,请访问:编程视频!!
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Grundkenntnisse von Komponenten (@Component) in Angular. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Viele Benutzer stoßen beim Spielen einiger Spiele unter Win10 immer auf Probleme, wie z. B. ein Einfrieren des Bildschirms und unscharfe Bildschirme. Zu diesem Zeitpunkt können wir das Problem lösen, indem wir die Directplay-Funktion aktivieren, und die Bedienungsmethode der Funktion ist ebenfalls sehr einfach. So installieren Sie DirectPlay, die alte Komponente von Win10 1. Geben Sie „Systemsteuerung“ in das Suchfeld ein und öffnen Sie es. 2. Wählen Sie große Symbole als Anzeigemethode. 3. Suchen Sie nach „Programme und Funktionen“. 4. Klicken Sie links, um oder zu aktivieren Win-Funktionen ausschalten 5. Wählen Sie hier die alte Version aus. Aktivieren Sie einfach das Kontrollkästchen

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

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

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

Vue ist ein sehr beliebtes Front-End-Framework. Es bietet viele Tools und Funktionen wie Komponentisierung, Datenbindung, Ereignisbehandlung usw., die Entwicklern beim Erstellen effizienter, flexibler und einfach zu wartender Webanwendungen helfen können. In diesem Artikel werde ich vorstellen, wie man eine Kalenderkomponente mit Vue implementiert. 1. Anforderungsanalyse Zunächst müssen wir die Anforderungen dieser Kalenderkomponente analysieren. Ein einfacher Kalender sollte über die folgenden Funktionen verfügen: Anzeige der Kalenderseite des aktuellen Monats; Unterstützung des Wechsels zum vorherigen oder nächsten Monat; Unterstützung beim Klicken auf einen bestimmten Tag;

Vue ist derzeit eines der beliebtesten Front-End-Frameworks, und VUE3 ist die neueste Version des Vue-Frameworks. Im Vergleich zu VUE2 bietet VUE3 eine höhere Leistung und ein besseres Entwicklungserlebnis und ist für viele Entwickler zur ersten Wahl geworden. In VUE3 ist die Verwendung von Erweiterungen zum Erben von Komponenten eine sehr praktische Entwicklungsmethode. In diesem Artikel wird erläutert, wie Erweiterungen zum Erben von Komponenten verwendet werden. Was heißt erweitert? In Vue ist Extends ein sehr praktisches Attribut, das für untergeordnete Komponenten verwendet werden kann, um von ihren Eltern zu erben.

Das Standardanzeigeverhalten für Komponenten im Angular-Framework gilt nicht für Elemente auf Blockebene. Diese Designwahl fördert die Kapselung von Komponentenstilen und ermutigt Entwickler, bewusst zu definieren, wie jede Komponente angezeigt wird. Durch explizites Festlegen der CSS-Eigenschaft display kann die Anzeige von Angular-Komponenten vollständig gesteuert werden, um das gewünschte Layout und die gewünschte Reaktionsfähigkeit zu erreichen.

Die alten Win10-Komponenten müssen vom Benutzer selbst aktiviert werden, da viele Komponenten standardmäßig geschlossen sind. Der Vorgang ist sehr einfach Versionskomponenten? Öffnen 1. Klicken Sie auf Start und dann auf „Win-System“. 2. Klicken Sie, um die Systemsteuerung aufzurufen. 3. Klicken Sie dann auf das Programm unten. 4. Klicken Sie auf „Win-Funktionen aktivieren oder deaktivieren“. 5. Hier können Sie auswählen, was Sie möchten öffnen
