问题标签 [view-injection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
133 浏览

angular - 查看 Angular 的注入容器

我正在尝试为每个后端微服务提供一个角度模块。因此,当它们在可用时使用彼此的组件和在容器中找不到组件时使用默认的“服务不可用”组件时,要保持每个模块独立和干净。

示例场景:假设有一个销售和会计模块。销售模块需要一个带有选择器的组件:'total-price'。销售模块和会计模块都被主模块使用,但销售不知道会计。当我在销售中调用“总价”标签时,我希望主模块在会计中找到它并在销售中显示它。

这里的“总价”标签选择器就像一个抽象(OO 接口),它的实现被放置在会计模块中,主模块应该有一个 IOC 来搜索并找到实现并将其注入到销售中,并返回一个如果视图不可用,则找不到视图(有点像空对象模式)。这也有助于处理授权并在不允许用户查看某些组件时返回正确的视图。

代码示例: 是该场景的示例代码,但它无法编译,因为正如我的问题所述,我正在寻找一种编排方式,组合 UI 并将<total-price>组件注入销售而不直接引用会计模块。

0 投票
0 回答
102 浏览

c# - 如何将 WPF 视图注入从 VSTO 插件 Prism 7 调用的窗口中

我正在使用 Prism 7 创建一个大型 WPF 桌面应用程序,我需要为 Word 和 Excel 创建几个 VSTO 加载项,这些加载项是较大整体的较小部分。我想使用 Prism 7 将我已经创建的视图和视图模型注入到 xaml 窗口中,单击功能区上的按钮时会显示该窗口。

我不知道在哪里初始化引导程序,因为我不熟悉 VSTO 加载项。

我已经创建了一个引导程序,它使用包含必要视图的正确模块配置模块目录。引导程序如下。

当我从 ThisAddIn.cs 文件初始化引导程序时,如下所示,引导程序正确地创建自己并配置模块目录。之后容器能够解析 RegionManager,但它也会自动向用户显示 MainWindow。

如果我打开 MainWindow 并单击应该将视图注入 MainWindow 的按钮,则视图被正确注入。但是,我显然不想在用户每次打开 Word 文档时自动显示一个空白窗口。有没有办法阻止引导程序此时显示 MainWindow 或者有更好的方法来解决这个问题?