Beiträge von FreakyOne

    Problem gelöst.


    Code
    const dimensionsDetail: string = this.transformArray(product.dimensionsDetail);

    geändert zu


    Code
    const dimensionsDetail: string = product.dimensionsDetail.toString();

    da scheinbar der Wert zu diesem Attribut in der DB als einzelner String hinterlegt ist im Gegensatz zu anderen Attributen.


    Trotzdem vielen Dank.

    Guten Morgen werte Community,


    bin sowohl neu im Forum als auch in HTML etc. Stehe hier vor einem kleinen Problem und meine sehr geringen HTML Kenntnisse reichen nicht aus, um das Problem zu lösen.


    Erstmal etwas Kontext: Habe von der Arbeit eine Aufgabe bekommen, dass von einer Webseite beim Betätigen einer Schaltfläche eine PDF erzeugt wird mit allen Informationen bezüglich des angezeigten Produktes. Das MacBook wurde eingerichtet und mir wurde für eine Produktinformation ein Beispiel gegeben und ich soll das erweitern für alle anderen Informationen des Produktes. Klingt erstmal nach einfachem Copy & Paste. Aber jetzt entsteht ein Fehler und ich finde alleine nicht raus, warum.


    Die Tabelle:

    Die Deklarationen:

    Code
    public dimensionsDetail: Array<{ title: string }>;
    public dimensionH: Array<{ title: string }>;
    public dimensionW: Array<{ title: string }>;
    public dimensionD: Array<{ title: string }>;
    public weight: Array<{ title: string }>;

    Der Code:

    Code
    const dimensionH: string = this.transformArray(product.dimensionH);
    const dimensionW: string = this.transformArray(product.dimensionW);
    const dimensionD: string = this.transformArray(product.dimensionD);
    const dimensionsDetail: string = this.transformArray(product.dimensionsDetail);
    const weight: string = this.transformArray(product.weight);

    Der Zusatzcode, wo ich nicht weiß was er tut:

    Und abschließend die transformArray-Methode:

    Code
    public transformArray(value: Array<{ id?: number, slug?: string, title: string }>, unit?: string, prefix?:string): string {
      if (!value) {
        return "";
      }
      let result: string = "";
      value.forEach((i: { id: number, slug: string, title: string }, index: number) => {
         result += ((prefix ?  prefix + " " : ""))  + i.title + ((unit ? " " + unit : "")) + (index === value.length - 1 ? "" : ", ");
      });
      return result;
    }

    So viel zum Code. Bin echt übelster Neuling, bitte nicht anmeckern wenn ich beim Post hier was falsch oder unverständlich mache.

    Da alles vorher eingerichtet wurde, kann ich zum System selber gar nichts sagen oder welche HTML Version vorhanden ist. Der Fehler entsteht scheinbar bei der Methode für die Eigenschaft "dimensionsDetail".

    Aus der Konsole bekomme ich die Fehlermeldung:

    Code
    TypeError: value.forEach is not a function
        at ProductsService.transformArray (/Users/bicel/Downloads/middleware/src/services/products.service.ts:759:15)
        at ProductsService.<anonymous> (/Users/bicel/Downloads/middleware/src/services/products.service.ts:601:51)
        at Generator.next (<anonymous>)
        at fulfilled (/Users/bicel/Downloads/middleware/src/services/products.service.ts:13:58)

    Falls es auch wichtig sein sollte, der Wert hinter der Variable dimensionsDetail lautet auf der Webseite zumindest "Ø 65 mm / shoulder Ø 74 mm".


    Ich danke euch im Voraus vielmals für eure Unterstützung und stehe für Fragen etc. bereit.


    Freundliche Grüße

    Burak