2017-07-29 5 views
0

Ich versuche, eine Zweigvorlage in Javascript ohne Glück überhaupt rendern zu bekommen. Die Konsole erhält keine Fehler und die Vorlage wird nicht gerendert.Render Zweig Vorlage mit Javascript

Was mache ich falsch?

Code:

import Twig from 'twig'; 

fetch(videos).then(res => res.json()) 
    .then(data => { 
    data.items.forEach(item => { 
     Twig.renderFile('./themes/mytheme/views/components/thumbnail.twig', {item:'item'}, (err, html) => { 
      html; 
     }); 
    }); 
+0

können Sie mir Ihre Rendering-Methode zeigen? nicht nur 'Zweig' Teil. – Natsathorn

+0

@Natsathorn Ja, ich habe den Code bearbeitet. – user2952238

+0

Es lädt die Datei, ich dpnt bekomme 404 oder so. aber der Zweig selbst wird nicht gerendert. Jetzt hält es nur noch ein P-Tag mit Dummy-Inhalt zu Testzwecken. – user2952238

Antwort

0

Ich bin nicht so sicher, wo Sie Twig (Backend oder Frontend) Sie verwenden, aber ich denke, das Problem ist, dass Sie versuchen, twig file zu kompilieren und das kompilierte Ergebnis in ein Element zu setzen. Ich versuche mit twig ich selbst, bevor Sie antworten, scheint es Twig.rendering ist keine Methode zu rendern. Es ist Template-Datei kompilierende Methode. Also, html innerhalb der renderFile s Bereich ist das kompilierte Ergebnis. Du musst es irgendwie ins Element bringen. Wegen html ist Zeichenfolge, html; wird nichts tun.

Eigentlich können Sie console.log(html) verwenden, um das Ergebnis davon zu sehen. (Es wird HTML-String sein.).

Fügen Sie einfach die zu verwendende Methode html in den Bereich ein. Dann sollte es funktionieren.

Sie müssen so etwas wie dies in Ihrem renderFile

document.getElementById('container').innerHTML = html