我正在开发类似CMS的工具。我有带模板的文章。文章是在后端添加的,我需要使用模板来显示它们(渲染文章时,我知道要使用哪个模板)。既然会有十个模板,所以我试图找出什么是存储模板的最佳方法,以及如何根据加载的文章来加载正确的模板。我正在考虑的是:
我正在寻找一种体系结构和技术解决方案。我很乐意使用选项1,但不知道如何为文章组件构建模板。我希望只有一个组件,该组件可以获取文章并仅加载(构建)所需的模板。
Angular2 RC5
编辑:
模板A:设置css规则(蓝色文本,标题大写),标题,段落,图像,段落和其他位置(段落内)的链接A模板B:设置css规则B(红色文本,常规标题),标题,图像轮播,一段
{
"templateId": 1,
"title": "Article title",
"elements": [{
"text": "paragraph text"
}, {
"image": "http: //someurl.com"
}, {
"text": "another paragraph text"
}]
}
我认为您最好的选择是为每种样式都提供一个组件,并使用ngSwitch在文章之间进行交换的父组件。所以...
<article-component>
<div ngSwitch="article.type">
<template-a *ngSwitchCase="a" [article]="article">
</template-a>
<template-b *ngSwitchCase="b" [article]="article">
</template-b>
<template-c *ngSwitchCase="c" [article]="article">
</template-c>
</div>
</article-component>
除此之外,我不确定在不知道“文章”数据模型是什么样的情况下还能做什么。
编辑:好了,在看到您建议的数据模型之后,可以在模板内部在ngFor内进行ngSwitch,从而遍历“ elements”数组。我知道这有点过时,但这可能是您最好的选择。然后obv共享要在不同文章模板之间使用的“段落”,“图像”和“轮播”组件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句