我正在为我的角度应用程序提供模态窗口服务,使用组件工厂解析器在对话框中加载动态内容。现在,我将其设置为允许任何组件传递到模式窗口服务中,以显示在对话框中。问题是,我只希望将我“标记”的组件扔到模式窗口服务中。所以我最初的想法是进入界面。但是经过一番研究,事实证明,将其限制为一个空接口根本没有用,因为仍然可以传递任何组件。
我只希望能够传递“已标记”组件,因为这些组件与我将在我的应用程序模块中标记为entry components的组件相同。
答案 0 :(得分:0)
您可以使用一种模拟nominal types的技术。他们经常使用某些标记,例如:
const brand = Symbol();
interface Marker {
[brand]: never;
}
interface Foo {
content: string;
}
type Trusted = Marker & Foo;