File tree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change 2424 */
2525final class ComponentRenderer implements ComponentRendererInterface
2626{
27+ private array $ templateClasses = [];
28+
2729 public function __construct (
2830 private Environment $ twig ,
2931 private EventDispatcherInterface $ dispatcher ,
@@ -62,15 +64,15 @@ public function render(MountedComponent $mounted): string
6264 $ variables = $ event ->getVariables ();
6365 // see ComponentNode. When rendering an individual embedded component,
6466 // *not* through its parent, we need to set the parent template.
65- if ($ event ->getTemplateIndex ()) {
67+ if ($ templateIndex = $ event ->getTemplateIndex ()) {
6668 $ variables ['__parent__ ' ] = $ event ->getParentTemplateForEmbedded ();
6769 }
68-
70+
6971 try {
7072 return $ this ->twig ->loadTemplate (
71- $ this ->twig -> getTemplateClass ( $ event ->getTemplate ()),
72- $ event -> getTemplate () ,
73- $ event -> getTemplateIndex () ,
73+ $ this ->templateClasses [ $ template = $ event ->getTemplate ()] ??= $ this -> twig -> getTemplateClass ( $ template ),
74+ $ template ,
75+ $ templateIndex ,
7476 )->render ($ variables );
7577 } finally {
7678 $ mounted = $ this ->componentStack ->pop ();
You can’t perform that action at this time.
0 commit comments