{{d-button}} oder

Diskussion fortgesetzt von DButton unterstützt @action nicht mehr als String. Bitte überarbeiten Sie, um stattdessen eine Closure-Aktion zu verwenden:

Das hat mir geholfen!

Meine Frage ist nun (abgesehen davon, wie ich 9 Monate gebraucht habe, um das zu tun), ob/wann ich {{d-button}} vs. <DButton> verwenden soll.

2 „Gefällt mir“

Das moderne Ember-Muster ist die Verwendung der ‘Angle Bracket’-Syntax zum Aufrufen von Komponenten. Daher wird \u003cDButton\u003e bevorzugt.

Wir linten dies im Kern, haben es aber noch nicht auf Themes/Plugins ausgeweitet.

5 „Gefällt mir“

Oh. Hurra. Das habe ich auch gedacht!

Es war besonders verwirrend, da die Fehlermeldung über <DButton> klagte, ich aber {{d-button}} verwende. Ich werde mich bald darum kümmern, diese zu beheben.

Aha. Danke für die Erklärung.

4 „Gefällt mir“

Moment. Wir haben also @actionParam in \u003cDButton\u003e aufgegeben und machen das, um Dinge zu übergeben:

        @action={{fn this.addExtraVars this.extraVarsSmtp}}

aber in \u003cNavItem\u003e haben wir immer noch dies, um Parameter an eine Route zu übergeben

            @route="pfaffmanager.servers.show"
            @routeParam={{server.id}}
3 „Gefällt mir“

Hier ist ein Sonderfall.

NavItem ruft LinkTo auf, das den Namen der zu verknüpfenden Route (route) und den Wert zum Ausfüllen des dynamischen Segments (model, hier eine ID) getrennt benötigt.

<LinkTo
    @route={{@route}}
    @model={{@routeParam}}
  >{{this.contents}}</LinkTo>

Macht das Sinn?

4 „Gefällt mir“

Es ist eine gute Erklärung und ich verstehe sie, aber ich würde nicht sagen, dass sie Sinn ergibt. :slight_smile:

1 „Gefällt mir“

Das ist sinnvoll, da hier keine Funktion/Aktion in NavItem involviert ist (und auch nicht benötigt wird). Sie möchten nur Parameter von Komponente zu Komponente weitergeben. Verstehen Sie, was ich meine? Entschuldigung, ich bin schlecht darin, Dinge zu erklären. :sweat_smile:

3 „Gefällt mir“

Dieses Thema wurde 30 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr erlaubt.