组件内的组件 Angular
component inside component Angular
当一个组件在另一个组件内部时,它叫什么?
喜欢
<agm-map [latitude]="lat" [longitude]="lng">
<agm-marker [latitude]="lat" [longitude]="lng"></agm-marker>
</agm-map>
它是如何工作的?
我很确定中间组件不会被渲染。这是一个无效的语法。
但是,您可以创建至少包含 2 个不同组件的递归组件模式,如下所示:
在 "recursion-container" 组件的 html:
<agm-map ....
在 agm-map component.html:
<recursion-container"...
所以你基本上需要一个 middle-layer。
关于基本的组件通信,you can read the documentation
你必须使用ng-content
<ng-content></ng-content>
<ng-content select="agm-marker"></ng-content>
您必须将两个组件声明为:
agm-map.component.ts
@Component({
selector: 'agm-map',
template: '<ng-content></ng-content>
<ng-content select="agm-marker"></ng-content>'
})
export class AgmMapComponent {
...
}
agm-marker.component.ts
@Component({
selector: 'agm-marker',
template: '<div>Marker</div>'
})
export class AgmMarkerComponent {
...
}
但我猜你想将 latitude/longitude 传递给你的子组件,为此你可以阅读有关如何将数据从父组件传递到子组件的文档 here
当一个组件在另一个组件内部时,它叫什么? 喜欢
<agm-map [latitude]="lat" [longitude]="lng">
<agm-marker [latitude]="lat" [longitude]="lng"></agm-marker>
</agm-map>
它是如何工作的?
我很确定中间组件不会被渲染。这是一个无效的语法。
但是,您可以创建至少包含 2 个不同组件的递归组件模式,如下所示:
在 "recursion-container" 组件的 html:
<agm-map ....
在 agm-map component.html:
<recursion-container"...
所以你基本上需要一个 middle-layer。
关于基本的组件通信,you can read the documentation
你必须使用ng-content
<ng-content></ng-content>
<ng-content select="agm-marker"></ng-content>
您必须将两个组件声明为:
agm-map.component.ts
@Component({
selector: 'agm-map',
template: '<ng-content></ng-content>
<ng-content select="agm-marker"></ng-content>'
})
export class AgmMapComponent {
...
}
agm-marker.component.ts
@Component({
selector: 'agm-marker',
template: '<div>Marker</div>'
})
export class AgmMarkerComponent {
...
}
但我猜你想将 latitude/longitude 传递给你的子组件,为此你可以阅读有关如何将数据从父组件传递到子组件的文档 here