如何从角度的另一个组件中获取HTML元素?

时间:2017-05-17 15:42:27

标签: angular

我有两个名为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();但我没有得到任何东西。

1 个答案:

答案 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引用系列子对象,您应该能够通过这种方式访问​​它。