更改结构指令中呈现的内容

Change what is rendered in structural directive

所以,我正在创建一个类似于 NgIf 的结构指令,并且我有以下内容

this.viewContainer.createEmbeddedView(this.templateRef);

这完全符合我的需要,但如果条件是特定值,则需要动态显示错误。

所以在 sudo 代码中它会是这样的,

如果一切正常 - 显示原始模板,如果绑定值为 42 则显示错误组件而不是原始组件。

这可能吗?

我希望我能做类似的事情

this.viewContainer.createEmbeededView(new TemplateRef<ErrorComponent());

任何帮助都会很棒,因为我已经为此苦苦思索了好久!

干杯。

我认为您无法使用 new 创建 TemplateRef

只需在您的视图中添加一个额外的错误模板,并将对该错误模板的引用传递给 createEmbeddedView,以防出现错误。