如何在angular2中创建结构构件
我创建了一个结构指令,可以添加或删除应用它的元素 现在,我希望指令向应用它的元素添加一个内容。但似乎不可能使用指令,因为它没有自己的模板。 也许我应该创建一个组件而不是一个指令。本官方指南似乎暗示了这一点: Angular为管理布局提供了更复杂的技术,例如结构构件,它们可以获取外部内容并将这些内容合并到自己的模板中。选项卡和选项卡窗格控件就是很好的例子。 我们将在以后的一章中学习结构构件 本章尚不存在,因此如何创建结构构件 以下是使用我的指令的代码:如何在angular2中创建结构构件,angular,Angular,我创建了一个结构指令,可以添加或删除应用它的元素 现在,我希望指令向应用它的元素添加一个内容。但似乎不可能使用指令,因为它没有自己的模板。 也许我应该创建一个组件而不是一个指令。本官方指南似乎暗示了这一点: Angular为管理布局提供了更复杂的技术,例如结构构件,它们可以获取外部内容并将这些内容合并到自己的模板中。选项卡和选项卡窗格控件就是很好的例子。 我们将在以后的一章中学习结构构件 本章尚不存在,因此如何创建结构构件 以下是使用我的指令的代码: <div class="..." *
<div class="..." *myDisplayer="form.controls.comment"></div>
myDisplayer
指令根据与控件链接的条件添加或删除div。现在我希望指令在添加时在div中添加一个
。TL;博士:
内容投影(在Angular 1中被称为转换)似乎通过使用…实现了“结构组件”的行为代码>
- 请参见关于Rangle角2的解释
培训手册
- 有关详细信息,请参见第2章
ng内容
不确定术语“结构组件””是否仍然适用于我发现的答案。
看来,投影是该结构组件的正确术语,用于结构指令指南底部描述的该行为
基本上,我们可以通过在组件模板中使用…
指令标记来实现这一点。该组件将显示或“投影”组件的元素标记中的内容(如果我在这里正确应用了该术语,那么它将充当结构组件)
例子:
此
组件将投影/转置传递给它的内容:
@组件({
选择器:“投影示例”,
模板:`
{{name}}
{{name}的结尾
`,
样式:[`*{边框:红色虚线1px;}`]
})
导出类ProjectionExampleComponent{
名称:字符串='投影示例组件';
}
例如,在应用程序组件中使用时(作为父级):
@组件({
选择器:“我的应用程序”,
模板:`
你好{{name}
我的计划内容
`,
风格:[`
投影示例{显示:块;边框:蓝色虚线1px;}
p、 i{边框:蓝色虚线1px;}
`]
})
导出类应用程序{
名称:string='Angular2';
}
这将导致(对于角度2.4.1):
- 看到这里了吗
Offtopic:我在一本指南中偶然发现了这一行为(在谷歌搜索“angular 2 advanced”时)。遗憾的是,官方的Angular 2指南中仍然没有这一点(如在编写答案时)
在我看来,“结构组件”一词在官方指南中被误用了,不存在,或者在谷歌搜索没有给出任何相关结果,只给出了这个问题。请添加您的代码。我无法理解这句话“现在,我希望指令包含应用它的元素的内容。”我更正了我的句子,因为我忘记了一个单词。您可以看到我的指令与ngIf指令类似,只是它不是将布尔值作为参数,而是一个抽象控件,它通过观察该控件来确定自身的条件。没关系。现在,我希望该指令能够在元素出现时向其控制的元素添加内容(图像)。我还是搞不懂你的描述。