Ich versuche, eine kleine Aktionsbeschreibung nach einem Beitrag optional durch eine CustomComponent zu ersetzen.
Allerdings wird der Beitrag nicht korrekt an den Value Transformer übergeben.
@cached
get CustomComponent() {
return applyValueTransformer("post-small-action-custom-component", null, {
actionCode: this.code,
post: this.post,
});
}
Mein Debugging-Code
api.registerValueTransformer(
"post-small-action-custom-component",
(arg) => {
console.log(arg);
}
);
Ausgabe:
context: Object { actionCode: "bid", post: undefined }
Der Test prüft die Parameter nicht, daher bleibt dies unbemerkt.
Ich vermute, der post-Parameter sollte this.args.post und nicht this.post sein.
Ich habe versucht, dies als Workaround zu lösen, indem ich die Komponente bedingungslos hinzugefügt habe und sie selbst prüfen lasse, was sie tun soll, aber leider scheinen die Argumente auch hier nicht korrekt übergeben zu werden, sodass sowohl der Workaround als auch eine normale Implementierung hier ebenfalls fehlschlagen:
<this.CustomComponent
@code={{this.code}}
@post={{this.post}}
@createdAt={{this.createdAt}}
@path={{this.path}}
@username={{this.username}}
/>
Es gibt Getter in PostSmallAction für code, createdAt und path, aber (wieder) this.post existiert nicht und username() scheint ebenfalls einen Fehler zu haben (gibt es kein action_code_who in this.args.post?), sodass diese Attribute leer bleiben.
Ich kann keine bestehende “echte” Implementierung finden. Bin ich wirklich der Erste, der das benutzt? ![]()