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