Fehler bei der Verwendung von {{didInsert}} in einer Connector-Komponente: „Class constructor DidInsertModifier kann nicht ohne 'new' aufgerufen werden“

Hallo Team,

ich arbeite an einer benutzerdefinierten Theme-Komponente und versuche, eine Connector-Komponente über den Plugin-Outlet kanban-card-bottom zu verwenden. Innerhalb dieser Connector-Komponente möchte ich nach dem Rendern DOM-Logik mit dem Modifier {{didInsert}} ausführen.

Sobald ich jedoch {{didInsert this.modifyElement}} in der Vorlage hinzufüge, erhalte ich die folgende Fehlermeldung in der Browserkonsole:

Uncaught (in promise) TypeError: Class constructor DidInsertModifier cannot be invoked without 'new'
    at FunctionHelperManager.getValue (index.js:214:86)

Meine Komponenten-Einrichtung:

// javascripts/discourse/connectors/kanban-card-bottom/replace-last-post-by.gjs
import Component from "@glimmer/component";
import { action } from "@ember/object";
import didInsert from "@ember/render-modifiers/modifiers/did-insert";

export default class ReplaceLastPostBy extends Component {
  @action
  modifyElement(element) {
    console.log("Element ====> ", element);
  }

  <template>
    {{didInsert this.modifyElement}}
  </template>
}

Ziel:
Ich möchte einfach ein DOM-Element nach dem Rendern von dieser Connector-Komponente ansprechen (z. B. einen Benutzernamen visuell ersetzen).

Jede Einsicht wäre willkommen!

Fehler-Screenshot

Danke,

Es sieht so aus, als ob in Ihrem Beispiel Code fehlt? Ich würde erwarten, ein <template> / </template> zu sehen, und dass der Modifikator an ein Element angehängt wird, wie z. B.

<template>
  <div {{didInsert this.modifyElement}}>
    ...
  </div>
</template>
1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.