Heim Web-Frontend js-Tutorial Was ist der Unterschied zwischen berechneten und Methoden in Vue.js? (mit Beispielen)

Was ist der Unterschied zwischen berechneten und Methoden in Vue.js? (mit Beispielen)

Jan 17, 2019 am 09:40 AM
html javascript vue.js 前端

Der Inhalt dieses Artikels befasst sich mit der Frage, was der Unterschied zwischen berechneten und Methoden in Vue.js ist. (Mit Beispielen) hat es einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen.

Es wurde in den offiziellen Dokumenten erklärt. Ich werde mein Verständnis hier festhalten.

Verwendungsszenarien von Computern

Für komplexe logische Ausdrücke in HTML-Vorlagen sollte die entsprechende Logik vorhanden sein, um zu verhindern, dass die Logik zu schwer und schwer zu warten ist in berechnete Attribute eingefügt werden.

Zum Beispiel dieses

<div id="root">
     <p>Reversed message: "{{ message.split(&#39;&#39;).reverse().join(&#39;&#39;) }}"</p>
</div>
Nach dem Login kopieren

Hier ist die Vorlage keine einfache deklarative Logik mehr. Hier ist die umgedrehte Zeichenfolge, die die variable Nachricht anzeigen soll. Solche Ausdrücke, die eine komplexe Logikverarbeitung enthalten, sollten berechnete Eigenschaften verwenden.

Der Unterschied zwischen berechnet und Methoden

1. berechnet ist ein Attributaufruf, während Methoden ein Funktionsaufruf sind

Dies bedeutet, dass in der HTML-Interpolation < Die durch 🎜>

berechnete Methode wird in Form eines Attributzugriffs aufgerufen, z. B. {{reversedMessageComputed}}

Sie müssen () zum Aufrufen hinzufügen, z. B. {{reversedNameMethod( ) }}, andernfalls wird der folgende Inhalt in der Ansicht gerendert

function () { [native code] }

2. Berechnet hat eine Caching-Funktion, die Methoden sind jedoch nicht

hier Lassen Sie mich aus der offiziellen Dokumentation zitieren

Berechnete Eigenschaften werden basierend auf ihren Abhängigkeiten zwischengespeichert. Sie werden nur dann neu bewertet, wenn sich die zugehörigen Abhängigkeiten ändern.

<!-- html -->
<div id="root">
    <p>Reversed message: "{{ reversedNameMethod() }}"</p>
    <p>Reversed message: "{{ reversedMessageComputed }}"</p>
</div>
Nach dem Login kopieren
// javascript
var vm = new Vue({
    el: &#39;#root&#39;,
        data: {
        name: &#39;Alex&#39;,
        message: &#39;Hello&#39;
    },
    methods: {
      reversedNameMethod: function () {
        return this.name.split(&#39;&#39;).reverse().join(&#39;&#39;)
      }
    },
    computed: {
        // 计算属性的 getter
        reversedMessageComputed: function () {
        // `this` 指向 vm 实例
        return this.message.split(&#39;&#39;).reverse().join(&#39;&#39;)
        }
    }
})
Nach dem Login kopieren

Im obigen Beispiel bedeutet Caching, dass ein mehrmaliger Zugriff auf die berechnete Eigenschaft „reversedMessageComputed“ sofort das vorherige Berechnungsergebnis zurückgibt, solange sich die Nachricht nicht geändert hat, ohne dass die Funktion erneut ausgeführt werden muss. Die Methode reversedNameMethod() führt die Funktion bei jedem Aufruf erneut aus.

Gleichzeitig ist jedoch zu beachten, dass dies auch bedeutet, dass die folgenden berechneten Eigenschaften nicht mehr aktualisiert werden, da Date.now() keine reaktive Abhängigkeit ist: der Wert von

// javascript
computed: {
    now: function () {
        return Date.now()
    }
}
Nach dem Login kopieren
wird jetzt in der Vue-Instanz sein. Es wird bei der Transformation generiert und ändert sich nie.

Im Gegensatz dazu führt die aufrufende Methode die Funktion immer erneut aus, wenn ein erneutes Rendern ausgelöst wird.

Andere Anweisungen für berechnete

berechnete und Methoden dürfen nicht denselben Namen haben

Vue leitet alle Dinge in Methoden und Daten an das von Vue generierte Objekt weiter, das überschreibt Attribute mit doppelten Namen in berechnet

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen berechneten und Methoden in Vue.js? (mit Beispielen). 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
3 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)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles