我有两个名为tabs组件和系列组件的组件。标签组件的html如下
<div class="row">
<button class="btn btn-primary" style="margin-left:16px;" (click)="draw()">Update</button>
</div>
在ts文件中我有一个名为draw(){}
的方法在系列组件html中,我有一个文本字段。
<div class="col-md-3" style="margin-top:10px">
<label for="xOffset">X Offset</label>
<input type="text" id="xOffset" style="width:70px;" value="1"/>
</div>
在选项卡组件中的Draw()上如果我在系列组件中获取了文本字段的HTML元素,我该如何获取它?我需要在文本框中显示弹出窗口。我试过var htmlele = $(&#39;#xOffset&#39;)。html();但我没有得到任何东西。
答案 0 :(得分:0)
在标签组件中,您可以像这样创建对系列的引用:
@ViewChild(SeriesComponent) series: SeriesComponent;
然后,您可以访问该组件上的任何项目。
https://angular.io/docs/ts/latest/api/core/index/ViewChild-decorator.html
我之前没有这样做,但看起来如果你在该输入<input ..... #xOffset />
上添加一个标记引用,你应该也可以在Series组件上使用ViewChild:
@ViewChild('xOffset') xOffset: any;
然后,使用选项卡对象上的ViewChild引用系列子对象,您应该能够通过这种方式访问它。