在我的 Angular 库中,我有一个类似于以下的代码:
test.component.html:
<third-party-component #tpComponent></third-party-component>
<my-component [tp-component]="tpComponent"></my-component>
我的组件.component.ts:
import { Component, Input, OnInit } from '@angular/core';
import { ThirdPartyComponent } from '@3rd/party-library';
@Component({
selector: 'my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponent implements OnInit {
@Input('tp-component') tpComponent: ThirdPartyComponent;
ngOnInit() {
this.tpComponent.doSomething();
}
}
我正在寻找一种方法(如果有的话)ElementRef
从ThirdParyComponent
作为属性传递的实例中访问@Input
- 不幸的是,我无法更改ThirdParyComponent
以公开它自己的ElementRef
.
PS:我知道我可以创建一个方法MyComponent
来设置ThirdParyComponent
实例和它的ElementRef
,但我想用@Input
.
有什么办法可以做到这一点?