From 061f71afa791744377b4c1bbf8369115ff22b5a6 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Thu, 11 Jun 2026 18:05:57 -0400 Subject: [PATCH] renderComponent --- .local.dic | 5 + .../in-depth-topics/rendering-components.md | 222 ++++++++++++++++++ guides/release/pages.yml | 2 + 3 files changed, 229 insertions(+) create mode 100644 guides/release/in-depth-topics/rendering-components.md diff --git a/.local.dic b/.local.dic index 2290e12f4a..ad010976f9 100644 --- a/.local.dic +++ b/.local.dic @@ -7,6 +7,7 @@ ActiveSupport acyclic Algolia Americentric +Astro asynchronicity asynchrony auto-rollup @@ -52,6 +53,8 @@ debounce declaratively DefinitelyTyped deps +destructor +destructors dev draggable dropdown @@ -177,6 +180,7 @@ recursing Redux relayout renderer +REPL repo repos rerender @@ -250,6 +254,7 @@ viewport vim-ember-hbs vim-javascript vim-js-pretty-template +Vitepress VM VoiceOver voilà diff --git a/guides/release/in-depth-topics/rendering-components.md b/guides/release/in-depth-topics/rendering-components.md new file mode 100644 index 0000000000..706257d806 --- /dev/null +++ b/guides/release/in-depth-topics/rendering-components.md @@ -0,0 +1,222 @@ +Most of the time, Ember renders your components for you: the router renders a route's template, that template invokes components, and so on down the tree. But sometimes _you_ need to be the one to start rendering—to embed an Ember component in a page that isn't an Ember app, to power a documentation site's interactive demos, to write a REPL, or to integrate with "islands"-based tools like Astro or Vitepress. + +The `renderComponent` function renders any component into any DOM element, with full interactivity and reactivity, and without requiring an `Application`, a router, or any other setup. + +```gjs +import { renderComponent } from '@ember/renderer'; + +const Hello = Hello, world!; + +renderComponent(Hello, { + into: document.querySelector('#some-element'), +}); +``` + +
+
+