


Ausführliche Erläuterung des Abonnements und der Kündigung in Angular4
Dieser Artikel führt hauptsächlich in ein detailliertes Verständnis des Angular4-Abonnements (Abonnieren) und der Verwendung von Abonnements und Kündigungen ein. Ich hoffe, dass er für interessierte Freunde hilfreich ist alle.
Abonnieren
Jeder, der js geschrieben hat, weiß, dass das Abonnieren an vielen Orten zu sehen ist und eine sehr wichtige Rolle spielt. Abhören der Rückgabe von http-Anfragen, Übergeben von Parametern zwischen Seiten ... Wenn wir von Abonnements sprechen, müssen wir Observable erwähnen, und wenn wir über Observables sprechen, müssen wir Subscribeable erwähnen ... Moment, das ist zu weit. Zurück zum Thema: subscribe ist eine Funktion der Observable-Klasse. Aus dem chinesischen Namen von Observable: „observable“ geht hervor, dass die Rolle von Observable der Überwachung ähneln kann, die Überwachung jedoch häufig seitenübergreifend erfolgt. Zum Beispiel:
// 父页面 export class SupComponent { id: string; // 父组件构造器 constructor(private router: Router) { // 设置id this.id = 'JvsBRBQHU2BthZQNYrBkVl0Z22zQQIkP'; } // 进入详情页 detail(id: string) { // 携带id跳转至详细页 this.router.navigate(['sub', id]); } } // 子页面 export class SubComponent implements OnInit{ // 子组件构造器 constructor(private activated: ActivatedRoute) { } // 子组件初始化钩子 ngOnInit(): void { // 订阅活动路由 this.activated.params.subscribe(params => { console.info(params['id']); }); } }
Das Obige beschreibt den Code eines einfachen Geschäfts: Klicken Sie auf ein Elementelement auf der Listenseite, springen Sie dann zur Detailseite des Elements und rufen Sie die ID des Elements auf der Detailseite ab. Zu diesem Zeitpunkt können wir sehen, dass das Abonnieren von Veranstaltungen nützlich ist.
Abmelden
Zu diesem Zeitpunkt dachte ich, dass wir den Stream zum Lesen und Schreiben von Dateien schließen sollten, um den Speicher in JAVA zu überlaufen Das Objekt leer machen. Muss ich mein Abonnement kündigen? In der offiziellen Dokumentation sehen wir einen Satz:
Das heißt, der Hook der Komponente hilft uns, das Abonnement zu kündigen, und erfordert keine Kündigung durch uns. Nun, was auch immer Sie sagen, ist, was es ist. Heute (natürlich ist heute, wenn ich blogge) bin ich auf eine einfache Anforderung gestoßen: Der Benutzer klickt auf der Seite „Benutzerinformationen“ auf die Schaltfläche „Informationen ändern“, um zur Formularseite zum Ändern von Informationen zu springen. Natürlich sind die ursprünglichen Informationen des Formulars diejenigen, bevor der Benutzer die Informationen ändert. Dies ist kein Problem. Um so wenige nutzlose Anfragen wie möglich zu senden (Benutzer dürfen Daten senden, ohne sie zu ändern), habe ich im DoCheck-Hook festgestellt, ob die Daten vorher und nachher unterschiedlich sind, und den Code anklickbar gemacht:
// 修改资料页面 export class ModifyUerInfo implements OnInit, DoCheck { // 用户实体 user: User; // 表单组 form: FormGroup; // 声明订阅对象 subscript: Subscription; // 修改资料页构造器 constructor(private builder: FormBuilder) { // 实例化用户实体 this.user = new User(); // 实例化订阅对象 this.subscript = new Subscription(); } // 修改资料页初始化钩子 ngOnInit(): void { // 调用初始化表单函数 this.initForm(); } // 修改资料检测变动钩子 ngDoCheck(): void { this.subscript = this.form.valueChanges.subscribe(data => { // 若表单无改动,data为null if (data == null) { // 这里要协同html进行不可点击操作,比较简单,就不贴代码了 return; } // 让提交按钮可以点击 console.info(data); }) } // 初始化表单方法 initForm() { // 初始化表单 this.form = this.builder.group({ // 声明昵称填写项(假装这里有值) nickname: [this.user.username, Validators.required], // 声明年龄填写项(假装这里有值) age: [this.user.age, Validators.required] }) } }
Okay, als ich nach dem Speichern des Codes glücklich auf die Konsolenergebnisse schaute:
Jede rote Linie bedeutet, dass ich das Formular einmal geändert habe , bitte schauen Sie sich das Bild an, um es zu finden. Regeln ~ Finden Sie Ihre Schwester!
Es kann festgestellt werden, dass bei n-maliger Änderung des Formulars n+1 Protokolle generiert werden und es sich dabei um n+1 geänderte Formularinformationen handelt. Obwohl der Beamte sagte, dass es nicht nötig sei, das Abonnement zu kündigen, ist es unvermeidlich, dass es keine Probleme gibt, wenn so viele Abonnementobjekte schnell auf dem mobilen Endgerät generiert werden. Und als Programmierer mit Idealen und Bestrebungen kann er dies nicht tolerieren unvollkommene Situationen.
Also habe ich in der Rückruffunktion Folgendes hinzugefügt:
// 取消订阅 this.subscript.unsubscribe();
Stellen Sie zu diesem Zeitpunkt den Idealzustand wieder her und machen Sie Schluss!
Um ehrlich zu sein, kann standardisierter Code nicht nur die Lesbarkeit des Codes verbessern, die Logik klarer machen, die Göttin Sie bewundern lassen und den Chef sein Gehalt erhöhen lassen ... Das Wichtigste ist, dass es so ist kann verhindern, dass dem Programm der Code ausgeht. Es gibt noch viele vermeidbare Fehler, die beachtet werden müssen.
Verwandte Empfehlungen:
Detaillierte Erklärung, wann ein Abonnement in Angular gekündigt werden sollte
node.js veröffentlichen -Subscribe-Modus-Methode
Detaillierte Erläuterung der Verwendung des JavaScript-Publish-Subscribe-Modus
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Abonnements und der Kündigung in Angular4. 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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



Detaillierte Erläuterung der Modusfunktion in C++ In der Statistik bezieht sich der Modus auf den Wert, der in einem Datensatz am häufigsten vorkommt. In der Sprache C++ können wir den Modus in jedem Datensatz finden, indem wir eine Modusfunktion schreiben. Die Modusfunktion kann auf viele verschiedene Arten implementiert werden. Zwei der häufig verwendeten Methoden werden im Folgenden ausführlich vorgestellt. Die erste Methode besteht darin, eine Hash-Tabelle zu verwenden, um die Häufigkeit des Vorkommens jeder Zahl zu zählen. Zuerst müssen wir eine Hash-Tabelle definieren, in der jede Zahl der Schlüssel und die Häufigkeit des Vorkommens der Wert ist. Dann führen wir für einen bestimmten Datensatz aus

Das Windows-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt und seine neue Version Win11 hat viel Aufmerksamkeit erregt. Im Win11-System ist die Erlangung von Administratorrechten ein wichtiger Vorgang. Mit Administratorrechten können Benutzer weitere Vorgänge und Einstellungen auf dem System durchführen. In diesem Artikel wird ausführlich beschrieben, wie Sie Administratorrechte im Win11-System erhalten und wie Sie Berechtigungen effektiv verwalten. Im Win11-System werden Administratorrechte in zwei Typen unterteilt: lokaler Administrator und Domänenadministrator. Ein lokaler Administrator verfügt über vollständige Administratorrechte für den lokalen Computer

Detaillierte Erläuterung der Divisionsoperation in OracleSQL In OracleSQL ist die Divisionsoperation eine häufige und wichtige mathematische Operation, die zur Berechnung des Ergebnisses der Division zweier Zahlen verwendet wird. Division wird häufig in Datenbankabfragen verwendet. Daher ist das Verständnis der Divisionsoperation und ihrer Verwendung in OracleSQL eine der wesentlichen Fähigkeiten für Datenbankentwickler. In diesem Artikel werden die relevanten Kenntnisse über Divisionsoperationen in OracleSQL ausführlich erörtert und spezifische Codebeispiele als Referenz für die Leser bereitgestellt. 1. Divisionsoperation in OracleSQL

Detaillierte Erläuterung der Restfunktion in C++ In C++ wird der Restoperator (%) verwendet, um den Rest der Division zweier Zahlen zu berechnen. Es handelt sich um einen binären Operator, dessen Operanden ein beliebiger Ganzzahltyp (einschließlich char, short, int, long usw.) oder ein Gleitkommazahlentyp (z. B. float, double) sein kann. Der Restoperator gibt ein Ergebnis mit demselben Vorzeichen wie der Dividend zurück. Für die Restoperation von Ganzzahlen können wir beispielsweise den folgenden Code zur Implementierung verwenden: inta=10;intb=3;

Detaillierte Erläuterung der Verwendung der Vue.nextTick-Funktion und ihrer Anwendung bei asynchronen Aktualisierungen. Bei der Vue-Entwicklung treten häufig Situationen auf, in denen Daten asynchron aktualisiert werden müssen. Beispielsweise müssen Daten sofort nach einer Änderung des DOM oder verwandter Vorgänge aktualisiert werden unmittelbar nach der Aktualisierung der Daten durchzuführen. Die von Vue bereitgestellte Funktion .nextTick wurde entwickelt, um diese Art von Problem zu lösen. In diesem Artikel wird die Verwendung der Vue.nextTick-Funktion im Detail vorgestellt und mit Codebeispielen kombiniert, um ihre Anwendung bei asynchronen Updates zu veranschaulichen. 1. Vue.nex

PHP-FPM ist ein häufig verwendeter PHP-Prozessmanager, der eine bessere PHP-Leistung und -Stabilität bietet. In einer Hochlastumgebung erfüllt die Standardkonfiguration von PHP-FPM jedoch möglicherweise nicht die Anforderungen, sodass wir sie optimieren müssen. In diesem Artikel wird die Optimierungsmethode von PHP-FPM ausführlich vorgestellt und einige Codebeispiele gegeben. 1. Erhöhen Sie die Anzahl der Prozesse. Standardmäßig startet PHP-FPM nur eine kleine Anzahl von Prozessen, um Anfragen zu bearbeiten. In einer Hochlastumgebung können wir die Parallelität von PHP-FPM erhöhen, indem wir die Anzahl der Prozesse erhöhen.

Der Modulo-Operator (%) in PHP wird verwendet, um den Rest der Division zweier Zahlen zu ermitteln. In diesem Artikel werden wir die Rolle und Verwendung des Modulo-Operators im Detail besprechen und spezifische Codebeispiele bereitstellen, um den Lesern ein besseres Verständnis zu erleichtern. 1. Die Rolle des Modulo-Operators Wenn wir in der Mathematik eine ganze Zahl durch eine andere ganze Zahl dividieren, erhalten wir einen Quotienten und einen Rest. Wenn wir beispielsweise 10 durch 3 dividieren, ist der Quotient 3 und der Rest ist 1. Um diesen Rest zu ermitteln, wird der Modulo-Operator verwendet. 2. Verwendung des Modulo-Operators In PHP verwenden Sie das %-Symbol, um den Modul darzustellen

Detaillierte Erläuterung der Funktion system() des Linux-Systems Der Systemaufruf ist ein sehr wichtiger Teil des Linux-Betriebssystems. Er bietet eine Möglichkeit, mit dem Systemkernel zu interagieren. Unter diesen ist die Funktion system() eine der am häufigsten verwendeten Systemaufruffunktionen. In diesem Artikel wird die Verwendung der Funktion system() ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Grundlegende Konzepte von Systemaufrufen Systemaufrufe sind eine Möglichkeit für Benutzerprogramme, mit dem Betriebssystemkernel zu interagieren. Benutzerprogramme fordern das Betriebssystem an, indem sie Systemaufruffunktionen aufrufen
