Javascript 迭代子对象的角度包装器组件
我试图在Angular中创建一个包装器组件,该组件可以接收任意数量的子项,然后逐个包装每个项。最好是完全动态的,不绑定任何额外数据 app wrapper.component应该是这样工作的(只处理包装器的逻辑):Javascript 迭代子对象的角度包装器组件,javascript,angular,wrapper,children,Javascript,Angular,Wrapper,Children,我试图在Angular中创建一个包装器组件,该组件可以接收任意数量的子项,然后逐个包装每个项。最好是完全动态的,不绑定任何额外数据 app wrapper.component应该是这样工作的(只处理包装器的逻辑): 并使用应用程序包装器(其中为项目处理逻辑): ... app wrapper.component不是这样工作的,抛出 错误: 错误:模板分析错误:无法绑定到“选择”,因为它不是 “ng内容”的已知属性 请注意:div.wrapper和div.child-wrapper不能分开
并使用应用程序包装器(其中为项目处理逻辑):
...
app wrapper.component不是这样工作的,抛出
错误:
错误:模板分析错误:无法绑定到“选择”,因为它不是
“ng内容”的已知属性
请注意:div.wrapper和div.child-wrapper不能分开。似乎有几种可能做到这一点 1/您可以将它们制成组件: app-wrapper.component:
<div class="wrapper">
<div
class="child-wrapper"
*ngFor="let child of children"
>
<app-item [item]="child"></app-item>
</div>
</div>
<app-wrapper>
<div child>element you want to put inside the "ng-content" </div>
</app-wrapper>
并使用@Input创建ItemComponent以显示项目
2/您可以使用ngTemplateOutlet指令创建模板引用
app-wrapper.component:
<div class="wrapper">
<div
class="child-wrapper"
*ngFor="let child of children"
>
<ng-container *ngTemplateOutlet="test; context: { child: child }"></ng-container>
</div>
</div>
<ng-template #test let-child="child">
<!-- here an item -->
</ng-template>
ng内容用于在元素内注入内容,如下所示:
在应用程序包装中:
<div class="wrapper">
<ng-content select="[child]"></ng-content>
</div>
当您调用组件时:
<div class="wrapper">
<div
class="child-wrapper"
*ngFor="let child of children"
>
<app-item [item]="child"></app-item>
</div>
</div>
<app-wrapper>
<div child>element you want to put inside the "ng-content" </div>
</app-wrapper>
要放入“ng内容”中的元素
这样做似乎有几种可能性
1/您可以将它们制成组件:
app-wrapper.component:
<div class="wrapper">
<div
class="child-wrapper"
*ngFor="let child of children"
>
<app-item [item]="child"></app-item>
</div>
</div>
<app-wrapper>
<div child>element you want to put inside the "ng-content" </div>
</app-wrapper>
并使用@Input创建ItemComponent以显示项目
2/您可以使用ngTemplateOutlet指令创建模板引用
app-wrapper.component:
<div class="wrapper">
<div
class="child-wrapper"
*ngFor="let child of children"
>
<ng-container *ngTemplateOutlet="test; context: { child: child }"></ng-container>
</div>
</div>
<ng-template #test let-child="child">
<!-- here an item -->
</ng-template>
ng内容用于在元素内注入内容,如下所示:
在应用程序包装中:
<div class="wrapper">
<ng-content select="[child]"></ng-content>
</div>
当您调用组件时:
<div class="wrapper">
<div
class="child-wrapper"
*ngFor="let child of children"
>
<app-item [item]="child"></app-item>
</div>
</div>
<app-wrapper>
<div child>element you want to put inside the "ng-content" </div>
</app-wrapper>
要放入“ng内容”中的元素
问题是什么?继续尝试,你会明白的。我会看看动态组件注入。请为app wrapper.component.ts
添加代码。看起来你错过了一个简单的问题,比如什么是问题?继续尝试,你会得到它的。我会看看动态组件注入。请为app wrapper.component.ts
添加代码。好像你错过了一个像