首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >模板继承和/或组合

模板继承和/或组合
EN

Stack Overflow用户
提问于 2018-10-09 16:21:10
回答 1查看 739关注 0票数 2

我们正在创建一个由许多卡片组成的应用程序(想象一下有粘性笔记的板)。这些卡片将有一些共享行为:相同的标题逻辑,“分配到”功能,最大化/折叠能力等。然而,这些卡的内容可能有所不同:文本、图片、ag-Grid、自定义组件等。

在我面向后端的思想中,第一件事是创建一个带有如下模板的家长卡片类:

代码语言:javascript
复制
<h2>Card header and shared elements</h2>
<cardContent></cardContent>

其中cardContent将被实际内容所取代。然后对PictureCardTextCard等类进行扩展,并以某种方式传递/设置cardContent

你怎么用角度来做这个?这是错误的做法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-09 16:26:25

您想要使用内容投影,这以前被称为“屏蔽”。

使用内容投影,您基本上有一些共同的元素,但也可以传递一些额外的内容,任何您喜欢的内容。

它的工作方式如下(我们将此组件称为fred):

代码语言:javascript
复制
<h2>{{title}}</h2> 
<ng-content></ng-content>

标题将作为@Input传递。使用fred的组件如下所示:

代码语言:javascript
复制
<fred [title]="i will appear as title">
  <div>I will be displayed where ng-content is</div>
  <p>i can be anything you want</p>
</fred>

<fred [title]="i will appear as a different title">
  <a-different-component></a-different-component>
</fred>

在这里,我们使用弗雷德两次,传递完全不同的内容。

这里有一个教程:

https://codecraft.tv/courses/angular/components/content-projection/

这是自定义模态的一种常见方法,其中许多结构是相同的,例如模态标题、模态页脚等,但是模态体的内容每次都不同。

对不起,找不到这上面的官方文档,但是这个链接很好。

关于角度内容投影的好处是,您可以有多个内容插槽,这意味着您可以投影到多个地方,如果需要的话。这使得角内容投影成为最强大的内容投影系统。#反应,坎特,披头士

说完这些之后,您可能需要使用一些开箱即用的库解决方案,如primeng卡:

https://www.primefaces.org/primeng/#/card

有很多小人可以选择!报春花是其中的领导者之一。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52725384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档