首页 > 解决方案 > Angular 9 - 如何强制从指令内重新渲染组件?

问题描述

因此,我尝试使用 angular 9 中的属性指令对任何输入进行就地编辑(如果重要,则使用 Ivy)。 https://stackblitz.com/edit/angular-inline-edit-qwb2bg?file=src/app/inplace-edit/inplace-edit.directive.ts

这个想法是我可以采用任何组件并从指令中更改外观。问题是我不知道如何恢复到原始的完整外观:-) 所以当我点击文本时 - 该文本应该更改为简单输入。尝试了很多方法 - 对我没有任何帮助。

好吧,有一种工作方法可以将组件包装到其他组件中,并将 ngIf 与 ngTemplateOutlet 一起使用,但我想要一些更清洁的解决方案 - 就像在旧的良好 jQuery editinplace 插件中一样 - 只是为了改变任何组件的行为和外观......

所以总的来说,问题是:如果属性指令可以用来改变组件的外观和行为,应该怎么做才能重新渲染组件,使它看起来好像没有应用指令?..

标签: angularangular-directiveinplace-editing

解决方案


推荐阅读