如何从容器组件向子组件注入其他行为?
我正在为某些UI构建所见即所得的编辑器和查看器。该项目分为两个软件包:ui-core和ui-editor。前者允许查看UI,后者允许用户编辑UI。我希望在将小部件呈现在编辑器中时将其附加到行为上(例如,可以选择,调整大小等)。
理想情况下,编辑器容器应该能够在组件树下注入指令,并且小部件可以通过依赖项注入来拾取该指令。
该指令不应直接应用于窗口小部件的模板中,因为这样,该指令及其使用的所有服务都必须包含在ui-core程序包中。但是我希望编辑器内容保留在编辑器包中。
我尝试在核心程序包中创建一个虚拟指令,然后在编辑器程序包中创建另一个具有相同选择器的指令,但是我无法以在查看UI时加载虚拟指令的方式配置依赖项注入,并在用户界面位于编辑器容器中时加载特定于编辑器的菜单。