组件是否可以具有基于参数切换到的不同模板

时间:2018-07-10 13:23:56

标签: javascript angular typescript angular6 angular-components

情况

我需要编写一个将内容加载到页面上的组件。内容(带有对象的JSON数组)是从数据库加载的。两个组件必须创建一页。组件树如下所示。

DataList - receives full JSON object
  DataListItem - must display the first object
  DataListItem - must display the second object
  DataListItem - and so on

DataListItem可以多种方式显示内容。这就是为什么它需要多个模板的原因。

我不想将所有内容都放到一个HTML文件中,添加一个ngSwitch指令并将其命名为day。我也不想为每个模板制作一个组件。我大约有72个模板。我只希望可以将多个HTML文件加载到DataListItem组件中。


我如何解决这个问题

现在,我正在尝试执行HTTP请求以获取模板,这似乎可行。

但是{{ data.contentId }}似乎没有约束力。它只是在页面上以纯文本形式显示绑定。 Example here

我想知道如何才能做到这一点,或者甚至有可能实现。

预先感谢;)


修改

我只是要问这个问题的根源。是否可以在组件中加载不同的模板?父组件提供的参数应该告诉您应该选择哪种类型的模板。

对不起,我的大脑不再起作用了,我必须要编写很多代码才能将其转储到plunker中。它还连接到API,因此您甚至无法加载数据。

1 个答案:

答案 0 :(得分:0)

我最终发现p3x-angular-compile可以编译您通过的HTML。我要求HTML仍带有HTTP。这样,我可以拥有包含要使用的模板的多个文件。

  

仅适用于有相同问题的人。您需要Nodejs 10.5.0+才能使该插件正常工作

无论如何,谢谢您的帮助。