Heim Web-Frontend js-Tutorial Eine eingehende Analyse, wie Angular-Anweisungen die Trennung von Belangen aufrechterhalten?

Eine eingehende Analyse, wie Angular-Anweisungen die Trennung von Belangen aufrechterhalten?

Dec 20, 2021 pm 02:50 PM
指令

Wie gewährleisten Angular-Anweisungen die Trennung von Belangen? Dieser Artikel zeigt Ihnen, wie Sie die Trennung von Belangen durch die Angular-Richtlinie aufrechterhalten können. Ich hoffe, er wird Ihnen helfen!

Eine eingehende Analyse, wie Angular-Anweisungen die Trennung von Belangen aufrechterhalten?

Nehmen wir an, wir haben eine Datumsauswahlkomponente in unserer Anwendung. Jedes Mal, wenn der Benutzer das Datum ändert, wird ein Ereignis an den Analyseanbieter gesendet. Bisher haben wir es nur einmal verwendet, sodass diese Analyseschnittstelle in der Komponente platziert werden kann, die sie verwendet:

header-1.ts

import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroyed';

@UntilDestroy()
class FooComponent {
  timespanControl = new FormControl();

  ngOnInit() {
    this.timespanControl.valueChanges
      .pipe(untilDestroyed(this))
      .subscribe(({ preset }) => {
        this.analyticsService.track('timespan-filter apply', {
          value: preset,
        });
      });
  }
}
Nach dem Login kopieren

Allerdings haben wir jetzt mehr Orte, an denen wir diese Analyseschnittstelle verwenden können Ich möchte nicht wiederholt denselben Code schreiben. Jemand könnte vorschlagen, dass dieser Code in eine Datumsauswahl integriert und als Eingabeparameter übergeben werden könnte. [Verwandte Tutorial-Empfehlung: „Angular Tutorial“]

data-picker-1.component.ts

class DatePickerComponent {
  @Input() analyticsContext: string;
   
  constructor(private analyticsService: AnalyticsService) {}

  apply() {
    this.analyticsService.track('timespan-filter apply', {
      context: this.analyticsContext,
      value: this.preset,
    });

    ...
  }
}
Nach dem Login kopieren

Dies kann zwar erreicht werden, aber das ist kein ideales Design. Bedenkenstrennung bedeutet, dass der Datumswähler selbst nichts mit der Analyseschnittstelle zu tun hat und keine Informationen über die Analyseschnittstelle kennen muss.

Da es sich bei der Datumsauswahl um eine interne Komponente handelt, können wir außerdem ihren Quellcode ändern. Was aber, wenn es sich um eine Komponente eines Drittanbieters handelt? Wie kann man es lösen?

Die bessere Wahl ist hier die Angular-Direktive. Erstellen Sie eine Direktive, rufen Sie die Referenz des Formulars über DI ab und abonnieren Sie die Änderung des internen Werts, um das Analyseereignis auszulösen. datePickerAnalytics.directive.ts

@UntilDestroy()
@Directive({
  selector: '[datePickerAnalytics]',
})
export class DatePickerAnalyticsDirective implements OnInit {
  @Input('datePickerAnalytics') analyticsContext: string;

  constructor(
    private dateFormControl: NgControl,
    private analyticsService: AnalyticsService
  ) {}

  ngOnInit() {
    this.dateFormControl
      .control.valueChanges.pipe(untilDestroyed(this))
      .subscribe(({ preset }) => {
        this.analyticsService.track(
          'timespan-filter apply',
          {
            value: preset,
            context: this.analyticsContext
          }
        );
      });
  }
}
Nach dem Login kopieren

kann jetzt jedes Mal verwendet werden, wenn die Datumsauswahl verwendet wird.

<date-picker [formControl]="control" datePickerAnalytics="fooPage"></date-picker>
Nach dem Login kopieren

Englische Originaladresse: https://netbasal.com/maintaining-separation-of-concerns-through-angular-directives-8362ccdf655b

Originalautor: Netanel Basal

Weitere programmierbezogene Kenntnisse finden Sie unter : Programmiervideos! !

Das obige ist der detaillierte Inhalt vonEine eingehende Analyse, wie Angular-Anweisungen die Trennung von Belangen aufrechterhalten?. 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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen 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)

Wie bekomme ich Gegenstände mithilfe von Befehlen in Terraria? -Wie sammle ich Gegenstände in Terraria? Wie bekomme ich Gegenstände mithilfe von Befehlen in Terraria? -Wie sammle ich Gegenstände in Terraria? Mar 19, 2024 am 08:13 AM

Wie bekomme ich Gegenstände mithilfe von Befehlen in Terraria? 1. Was ist der Befehl zum Erteilen von Gegenständen in Terraria? Im Spiel Terraria ist das Erteilen von Befehlen an Gegenstände eine sehr praktische Funktion. Durch diesen Befehl können Spieler die benötigten Gegenstände direkt erhalten, ohne gegen Monster kämpfen oder sich an einen bestimmten Ort teleportieren zu müssen. Dies kann erheblich Zeit sparen, die Effizienz des Spiels verbessern und es den Spielern ermöglichen, sich mehr auf die Erkundung und den Aufbau der Welt zu konzentrieren. Insgesamt macht diese Funktion das Spielerlebnis flüssiger und angenehmer. 2. So verwenden Sie Terraria, um Objektbefehle zu erteilen 1. Öffnen Sie das Spiel und rufen Sie die Spieloberfläche auf. 2. Drücken Sie die „Enter“-Taste auf der Tastatur, um das Chat-Fenster zu öffnen. 3. Geben Sie im Chatfenster das Befehlsformat ein: „/give[Spielername][Artikel-ID][Artikelmenge]“.

VUE3-Schnellstart: Verwenden der Vue.js-Anweisungen zum Wechseln der Registerkarten VUE3-Schnellstart: Verwenden der Vue.js-Anweisungen zum Wechseln der Registerkarten Jun 15, 2023 pm 11:45 PM

Dieser Artikel soll Anfängern helfen, schnell mit Vue.js3 zu beginnen und einen einfachen Tab-Wechseleffekt zu erzielen. Vue.js ist ein beliebtes JavaScript-Framework, mit dem Sie wiederverwendbare Komponenten erstellen, den Status Ihrer Anwendung einfach verwalten und Interaktionen mit der Benutzeroberfläche verwalten können. Vue.js3 ist die neueste Version des Frameworks. Im Vergleich zu früheren Versionen wurden große Änderungen vorgenommen, die Grundprinzipien haben sich jedoch nicht geändert. In diesem Artikel verwenden wir die Anweisungen von Vue.js, um den Tab-Wechseleffekt zu implementieren, um die Leser mit Vue.js vertraut zu machen

Entdecken Sie die unendlichen Möglichkeiten der Eingabemethode, die mit MC-Befehlen einhergeht (ein innovatives Tool zur Schaffung eines perfekten Spielerlebnisses – die Eingabemethode, die mit MC-Befehlen einhergeht) Entdecken Sie die unendlichen Möglichkeiten der Eingabemethode, die mit MC-Befehlen einhergeht (ein innovatives Tool zur Schaffung eines perfekten Spielerlebnisses – die Eingabemethode, die mit MC-Befehlen einhergeht) May 02, 2024 pm 03:01 PM

Mobile Geräte sind zu einem wesentlichen Bestandteil des Lebens der Menschen in der modernen Gesellschaft geworden. Auch in der Freizeit sind Spiele zu einer der wichtigsten Unterhaltungsformen geworden. Es gibt ständig Leute, die an der Entwicklung neuer Tools und Technologien arbeiten, um das Gameplay zu optimieren und das Spielerlebnis zu verbessern. Zu den auffälligen Neuerungen gehört die Eingabemethode mit eigenem MC-Befehl. Und wie es den Spielern ein besseres Spielerlebnis bieten kann. Dieser Artikel befasst sich mit den unendlichen Möglichkeiten der integrierten MC-Befehlseingabemethode. Einführung in die integrierte MC-Befehlseingabemethode Die integrierte MC-Befehlseingabemethode ist ein innovatives Tool, das die Funktionen von MC-Befehlen und intelligenten Eingabemethoden kombiniert. Dadurch werden mehr Vorgänge und Funktionen ermöglicht. Durch die Installation dieser Eingabemethode auf einem mobilen Gerät können Spieler problemlos verschiedene Befehle im Spiel verwenden. Geben Sie schnell Befehle ein, um die Spieleffizienz zu verbessern

Was sind die beiden Teile von Anweisungen, die ein Computer direkt ausführen kann? Was sind die beiden Teile von Anweisungen, die ein Computer direkt ausführen kann? Dec 09, 2020 am 09:15 AM

Zu den Anweisungen, die der Computer direkt ausführen kann, gehören Operationscodes und Operanden. Der Opcode bezieht sich auf den Teil der Anweisung oder des Felds, der im Computerprogramm zur Ausführung der Operation angegeben ist. Dabei handelt es sich tatsächlich um die Befehlssequenznummer, die verwendet wird, um der CPU mitzuteilen, welcher Befehl ausgeführt werden muss.

Welche Anweisungen gibt es, um Sprudelereignisse zu verhindern? Welche Anweisungen gibt es, um Sprudelereignisse zu verhindern? Nov 21, 2023 pm 04:14 PM

Zu den Anweisungen zum Verhindern von Blasenereignissen gehören stopPropagation(), cancelBubble-Attribut, event.stopPropagation(), event.cancelBubble-Attribut, event.stopImmediatePropagation() usw. Ausführliche Einführung: 1. stopPropagation() ist eine der am häufigsten verwendeten Anweisungen, mit der die Ausbreitung von Ereignissen gestoppt wird. Wenn ein Ereignis ausgelöst wird, kann der Aufruf dieser Methode verhindern, dass das Ereignis fortgesetzt wird usw.

Eine Eingabeaufforderung ist nicht mehr erforderlich. Sie können das multimodale Dialogsystem nur mit Ihren Händen spielen. Eine Eingabeaufforderung ist nicht mehr erforderlich. Sie können das multimodale Dialogsystem nur mit Ihren Händen spielen. May 15, 2023 pm 05:55 PM

Xi Xiaoyao Technology sagte, dass der ursprüngliche Autor IQ in letzter Zeit auf der Grundlage des benutzerfreundlichen ChatGPT neu erstellt wurde und viele von ihnen relativ auffällige Ergebnisse erzielten. Die Arbeit von InternChat legt Wert auf Benutzerfreundlichkeit, indem bei multimodalen Aufgaben mit dem Chatbot auf eine Weise interagiert wird, die über die Sprache (Cursor und Gesten) hinausgeht. Interessant ist auch der Name InternChat, der für Interaktion, Nonverbal und Chatbots steht und als iChat bezeichnet werden kann. Im Gegensatz zu bestehenden interaktiven Systemen, die auf reiner Sprache basieren, verbessert iChat die Effizienz der Kommunikation zwischen Benutzern und Chatbots erheblich, indem es Zeigeanweisungen hinzufügt. Darüber hinaus hat der Autor auch

Eine Anweisung ist ein Befehl, der die Ausführung eines Computers steuert. Er besteht aus einem Befehl und einem Adresscode. Eine Anweisung ist ein Befehl, der die Ausführung eines Computers steuert. Er besteht aus einem Befehl und einem Adresscode. Jan 11, 2021 am 11:43 AM

Anweisungen sind Befehle, die die Computerausführung steuern und aus Operationscodes und Adresscodes bestehen. Normalerweise umfasst eine Anweisung zwei Aspekte: Operationscode und Operand (Adresscode). Der Operationscode bestimmt die auszuführende Operation, und der Operand bezieht sich auf die an der Operation beteiligten Daten und die Adresse der Einheit, in der er sich befindet.

Vue-Fehler beheben: Die v-bind-Direktive kann nicht korrekt zum Binden von Eigenschaften verwendet werden Vue-Fehler beheben: Die v-bind-Direktive kann nicht korrekt zum Binden von Eigenschaften verwendet werden Aug 25, 2023 pm 02:35 PM

Beheben Sie den Vue-Fehler: Die V-Bind-Anweisung kann nicht korrekt zum Binden von Eigenschaften verwendet werden. Bei der Entwicklung mit Vue treten häufig Fehler auf, wenn die V-Bind-Anweisung zum Binden von Eigenschaften verwendet wird. Ein Fehler dieser Art kann dazu führen, dass unsere Anwendung nicht ordnungsgemäß ausgeführt oder falsch angezeigt wird. Daher ist es für uns sehr wichtig, ihn schnell zu beheben. Nachfolgend gehen wir auf einige der möglichen Ursachen dieses Fehlers und deren Behebung ein. Fehler: Die mit der v-bind-Direktive gebundene Objekteigenschaft ist nicht vorhanden. Wenn Sie v-bind zum Binden von Eigenschaften verwenden,

See all articles