2016-02-22 4 views
10

Die offizielle Dokumentation sagt, dass es eine data und eine props Option in einer Komponente geben könnte.Komponentendaten vs seine Stützen in vuejs

Für mich scheint es eine Art übermäßige Funktionalität.

Warum benötige ich sowohl Eigenschaften als auch Daten in meiner Komponente? Welche Ziele haben sie?

Antwort

20

Eigenschaften sollen von übergeordneten Komponenten propagiert und verwaltet werden, während Daten der interne Zustand der Komponente sind (für den die Komponente verantwortlich ist).

Dieses Konzept stammt aus React, soweit ich weiß, und es funktioniert ziemlich gut.

+0

Also ist eine Requisite eher eine Eins-zu-eins-Bindung zwischen Eltern und Kind ("html element" - und ist das Kind immer ein html-Element?)? Während die Art "Daten" zu der gesamten Instanz gehört? Entschuldigung für die Antwort auf eine einjährige [akzeptierte] Antwort, aber Sie haben mir am nächsten geholfen, die Frage des OP zu verstehen. –

+1

Ja, Requisiten werden in einer Bindung in einer Richtung von Eltern zu Kind übergeben (das Kind kann diese Werte nicht ändern). Die Datenfelder werden von der Komponente festgelegt, die sie deklariert (kann geändert werden) und an Unterkomponenten als Eigenschaften übergeben werden. Hoffentlich hilft es, Komponenten sind Teile von (html + css + js), die unabhängig/unabhängig sind und einer Seite hinzugefügt werden können, solange sie ihre benötigten Requisiten erhalten. – TiagoLr

+4

Richtig, ähnlich wie Evans Antwort: Daten und Requisiten sind reaktiv, aber Daten sind eher "mein eigener Zustand" und Requisiten sind "Ich erwarte, dass ich das von meinen Eltern bekomme". – Paolo