Angular 角度2转换/ng内容,传达相关性

Angular 角度2转换/ng内容,传达相关性,angular,Angular,给出下面的示例,是否有一种方法(通过代码,而不是文档)向“卡片”组件的消费者传达应包含“卡片页眉”、内容和“卡片页脚”的信息 示例组件: 从'@angular/core'导入{Component,Input}; @组成部分({ moduleId:module.id, 选择器:“卡”, templateUrl:'card.component.html', }) 出口级卡片组件{ } HTML示例(card.component.HTML): 如果我理解正确,您希望有条件地在CardComponen

给出下面的示例,是否有一种方法(通过代码,而不是文档)向“卡片”组件的消费者传达应包含“卡片页眉”、内容和“卡片页脚”的信息

示例组件:

从'@angular/core'导入{Component,Input};
@组成部分({
moduleId:module.id,
选择器:“卡”,
templateUrl:'card.component.html',
})
出口级卡片组件{
}
HTML示例(card.component.HTML):


如果我理解正确,您希望有条件地在
CardComponent
中显示投影的HTML。在这种情况下,您可以使用
*ngIf
。例如,您可以在
CardComponent
中声明布尔变量(或
@Input
参数):

showFooter:boolean=false;
然后在模板中执行以下操作:


CardComponent
的父级将在其模板中包含以下内容:


卡从家长那里得到了这个标题
卡从父级获得此页脚
如果
showFooter
false
,则
CardComponent
不会呈现页脚


如果要控制
CardComponent
父级中的投影内容,请在父级中实现类似的逻辑

您可以查询传递的内容并抛出异常。 目前无法在开发时通知用户


@组件({
moduleId:module.id,
选择器:“卡”,
templateUrl:'card.component.html',
})
出口级卡片组件{
@ContentChildren('header')头:ElementRef;
@ContentChildren(“body”)body:ElementRef;
@ContentChildren('footer')页眉:ElementRef;
ngAfterContentInit(){
如果(!this.header.toArray().length){
抛出“未提供与“.card header”匹配的内容”;
}
如果(!this.body.toArray().length){
抛出“未提供身体内容”;
}
如果(!this.footer.toArray().length){
抛出“未提供与“.card footer”匹配的内容”;
}
}
}
正在进行的一些语言服务工作可能最终会为
元素提供提示,其中没有传递与其选择器匹配的子元素