如何制作标记界面或类似内容

时间:2018-12-09 21:30:33

标签: angular typescript

我正在为我的角度应用程序提供模态窗口服务,使用组件工厂解析器在对话框中加载动态内容。现在,我将其设置为允许任何组件传递到模式窗口服务中,以显示在对话框中。问题是,我只希望将我“标记”的组件扔到模式窗口服务中。所以我最初的想法是进入界面。但是经过一番研究,事实证明,将其限制为一个空接口根本没有用,因为仍然可以传递任何组件。

我只希望能够传递“已标记”组件,因为这些组件与我将在我的应用程序模块中标记为entry components的组件相同。

1 个答案:

答案 0 :(得分:0)

您可以使用一种模拟nominal types的技术。他们经常使用某些标记,例如:

const brand = Symbol();

interface Marker {
  [brand]: never;
}

interface Foo {
    content: string;
}

type Trusted = Marker & Foo;
相关问题