{{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.

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.

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.

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}}

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?

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

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: