2016-03-29 8 views
-1

Grundsätzlich, wenn Sie ein Design einer Webseite mit allen Arten von UI Mustern/Elementen, einige mit Interaktion und einige nur statisch, wie würden Sie entscheiden, was sollte in eine Komponente gemacht werden und was kann nur als HTML bleiben?Ember.js Was sollte eine Komponente gemacht werden?

Dies ist eher eine philosophische Frage und geht über Ember.js hinaus; Ich habe es aufgenommen, weil ich gerade lerne/benutze.

Es gibt einige Muster, die offensichtlich als Komponenten implementiert werden sollten, z. B. Tab-Switcher oder Filter, und meine naive Schlussfolgerung ist, dass sie interagieren und mehrfach auf der Seite verwendet werden. Aber wie weit geh ich damit? Reicht jeder dieser Gründe aus, um eine Komponente zu rechtfertigen, oder sind sie nur notwendig oder nicht? Sollte ein Knopf eine Komponente machen, nur weil es viele Knöpfe auf der Seite gibt? Sollte ich eine Slider-Komponente machen, obwohl ich weiß, dass es auf der Seite immer nur einen Slider geben wird?

Was sind gute Faustregeln, um zu entscheiden, ob etwas als Komponente implementiert werden soll? Ich könnte mir vorstellen, Komponenten für jede einzelne Sache zu erstellen, so dass die gesamte Seite nur Komponenten innerhalb von Komponenten ist. Sicherlich ist das zu weit? Insbesondere da die Komponenten von Ember jeweils Instanziierungskosten und Lebenszyklus haben, muss auch ein Leistungsaspekt berücksichtigt werden, wenn man entscheidet, was eine Komponente richtig sein soll.

Ich bin interessiert, die Standpunkte aller zu hören. Vielen Dank.

+0

Viele gute Fragen erzeugen ein gewisses Maß an Meinungen aufgrund von Expertenerfahrungen, aber die Antworten auf diese Frage basieren eher auf Meinungen als auf Fakten, Referenzen oder spezifischen Fachkenntnissen. –

+0

@Kitler Im Gegenteil, es gibt solide Kriterien für die diskussionswürdige Entscheidung zu komponieren. –

+0

@torazaburo, die außerhalb des Umfangs für Stack-Überlauf ist, schreit der Meinung basiert und lädt alle ein, ihren Standpunkt zu geben, es ist eine gute Frage, aber es gibt eine enge Wahlmöglichkeit speziell für solche Fragen aus dem Thema. –

Antwort

1

Ich benutze Komponenten, um alles organisiert zu halten. In der Theorie können Sie alles zu einer Komponente machen, aber Sie sollten die Verwendung von Komponenten nicht übertreiben.

Als Hauptregel verwende ich: Wenn ein Teil Ihrer Website viel Code benötigt, sollten Sie diesen Code in eine separate Komponente einfügen.