Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在angular2中创建结构构件_Angular - Fatal编程技术网

如何在angular2中创建结构构件

如何在angular2中创建结构构件,angular,Angular,我创建了一个结构指令,可以添加或删除应用它的元素 现在,我希望指令向应用它的元素添加一个内容。但似乎不可能使用指令,因为它没有自己的模板。 也许我应该创建一个组件而不是一个指令。本官方指南似乎暗示了这一点: Angular为管理布局提供了更复杂的技术,例如结构构件,它们可以获取外部内容并将这些内容合并到自己的模板中。选项卡和选项卡窗格控件就是很好的例子。 我们将在以后的一章中学习结构构件 本章尚不存在,因此如何创建结构构件 以下是使用我的指令的代码: <div class="..." *

我创建了一个结构指令,可以添加或删除应用它的元素

现在,我希望指令向应用它的元素添加一个内容。但似乎不可能使用指令,因为它没有自己的模板。 也许我应该创建一个组件而不是一个指令。本官方指南似乎暗示了这一点:

Angular为管理布局提供了更复杂的技术,例如结构构件,它们可以获取外部内容并将这些内容合并到自己的模板中。选项卡和选项卡窗格控件就是很好的例子。 我们将在以后的一章中学习结构构件

本章尚不存在,因此如何创建结构构件

以下是使用我的指令的代码:

<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指令类似,只是它不是将布尔值作为参数,而是一个抽象控件,它通过观察该控件来确定自身的条件。没关系。现在,我希望该指令能够在元素出现时向其控制的元素添加内容(图像)。我还是搞不懂你的描述。