From 4f5848d7f495aa18e57e3e002c4aef5f9205bce1 Mon Sep 17 00:00:00 2001 From: Bryan Date: Sun, 15 Oct 2023 17:44:57 +0100 Subject: [PATCH 1/3] Update rendering-values.md Add example of function to return a dynamic component --- .../release/in-depth-topics/rendering-values.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/guides/release/in-depth-topics/rendering-values.md b/guides/release/in-depth-topics/rendering-values.md index c3b04407f7..83355c4b59 100644 --- a/guides/release/in-depth-topics/rendering-values.md +++ b/guides/release/in-depth-topics/rendering-values.md @@ -71,6 +71,22 @@ or via a property on some object ```handlebars ``` +```ts +import MyOtherComponent from 'my-app/components/my-other-component'; +import MySuccessComponent from 'my-app/components/my-success-component'; + +export default class MyComponent extends Component { + @tracked status: string; + + get someComponent(): typeof Component { + if (this.status == 'success') { + return MySuccessComponent; + } else { + return MyOtherComponent; + } + } +} +``` or via an argument passed to a component ```handlebars <@someComponent /> From 77051115c8ec29817162a566e745765f3f97be57 Mon Sep 17 00:00:00 2001 From: Bryan Date: Sun, 15 Oct 2023 18:00:54 +0100 Subject: [PATCH 2/3] Update rendering-values.md correct return type of someComponent function --- guides/release/in-depth-topics/rendering-values.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guides/release/in-depth-topics/rendering-values.md b/guides/release/in-depth-topics/rendering-values.md index 83355c4b59..68d54b407f 100644 --- a/guides/release/in-depth-topics/rendering-values.md +++ b/guides/release/in-depth-topics/rendering-values.md @@ -72,13 +72,16 @@ or via a property on some object ``` ```ts +import { ComponentLike } from '@glint/template'; // only needed if you're using typescript import MyOtherComponent from 'my-app/components/my-other-component'; import MySuccessComponent from 'my-app/components/my-success-component'; export default class MyComponent extends Component { @tracked status: string; - get someComponent(): typeof Component { + get someComponent(): ComponentLike { + // any returned component must have been defined as + // class MyComponent extends Component {} if (this.status == 'success') { return MySuccessComponent; } else { From a63f021bada02f2e576328f53cbd68c0bf2c1e99 Mon Sep 17 00:00:00 2001 From: Bryan Date: Sun, 15 Oct 2023 18:01:55 +0100 Subject: [PATCH 3/3] Update rendering-values.md update comments --- guides/release/in-depth-topics/rendering-values.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/release/in-depth-topics/rendering-values.md b/guides/release/in-depth-topics/rendering-values.md index 68d54b407f..db7b41fbad 100644 --- a/guides/release/in-depth-topics/rendering-values.md +++ b/guides/release/in-depth-topics/rendering-values.md @@ -80,7 +80,7 @@ export default class MyComponent extends Component { @tracked status: string; get someComponent(): ComponentLike { - // any returned component must have been defined as + // if you're using typescript, any returned component must have been defined as // class MyComponent extends Component {} if (this.status == 'success') { return MySuccessComponent;