Angular ng引导:如何访问嵌套组件?
假设我有一个带模板的父组件,它看起来像这样 工具提示嵌套在模式中,而模式又嵌套在选项卡中 我正在使用轮胎从最外部的组件(父组件)访问最内部的组件(工具提示),因此我可以根据某些条件手动切换它 我怎样才能做到这一点Angular ng引导:如何访问嵌套组件?,angular,bootstrap-4,ng-bootstrap,Angular,Bootstrap 4,Ng Bootstrap,假设我有一个带模板的父组件,它看起来像这样 工具提示嵌套在模式中,而模式又嵌套在选项卡中 我正在使用轮胎从最外部的组件(父组件)访问最内部的组件(工具提示),因此我可以根据某些条件手动切换它 我怎样才能做到这一点 <ngb-tabset> <ng-tab> ~ </ng-tab> <ng-tab> <ng-template ngbTabContent> <ng-template #content1 le
<ngb-tabset>
<ng-tab>
~
</ng-tab>
<ng-tab>
<ng-template ngbTabContent>
<ng-template #content1 let-c="close" let-d="dismiss">
<div class="modal-header">
<h4 class="modal-title">header</h4>
</div>
<div class="modal-body">
<ng-template #tipContent1>Error Message</ng-template>
<input type="email" class="form-control" name="email" [(ngModel)]="email" [ngbTooltip]="tipContent1" #t1="ngbTooltip" required>
</div>
<div class="modal-footer">footer</div>
</ng-template>
</ng-template>
</ng-tab>
</ngb-tabset>
~
标题
错误消息
页脚
*我无法控制子组件,只能控制父组件。使用共享服务: 服务:
@Injectable()
export class MyService {
myMethod$: Observable<any>;
private myMethodSubject = new Subject<any>();
constructor() {
this.myMethod$ = this.myMethodSubject.asObservable();
}
myMethod(data) {
console.log(data); // I have data! Let's return it so subscribers can use it!
// we can do stuff with data if we want
this.myMethodSubject.next(data);
}
}
export class SomeComponent {
public data: Array<any> = MyData;
public constructor(private myService: MyService) {
this.myService.myMethod(this.data);
}
}
export class SomeComponent2 {
public data = {};
public constructor(private myService: MyService) {
this.myService.myMethod$.subscribe((data) => {
this.data = data; // And he have data here too!
}
);
}
}
通过这种方法,组件(甚至不是直接相关的)可以进行持续的通信
我支持您使用父组件中的ViewChild和内部组件中的ViewChild进行访问(或使用服务)。我无法控制子组件…@d-\b如果不是您的代码,您无法控制它,您可以发布它是哪个库吗?它可能有一些回调函数或者可以用来触发它的指令。如果没有,您始终可以克隆repo,更改它并请求添加该功能…:D