在Angular 8中,可以通过使用@ViewChild装饰器来访问一个组件中的div id,并在另一个组件中使用。
首先,在要访问div id的组件中,给该div添加一个模板引用变量。例如,给div添加一个id为"myDiv"的模板引用变量,可以这样写:
<div #myDiv></div>
然后,在要访问该div的组件的.ts文件中,使用@ViewChild装饰器来获取对该div的引用。在组件的类中添加以下代码:
import { Component, ViewChild, ElementRef } from '@angular/core';
@Component({
selector: 'app-your-component',
templateUrl: './your-component.component.html',
styleUrls: ['./your-component.component.css']
})
export class YourComponent {
@ViewChild('myDiv', { static: true }) myDiv: ElementRef;
// 在需要访问div的地方使用this.myDiv.nativeElement
}
现在,你可以在该组件的代码中使用this.myDiv.nativeElement来访问该div。
接下来,在另一个组件中,你可以通过在构造函数中注入要访问的组件,然后使用该组件的实例来访问该div。例如:
import { Component } from '@angular/core';
import { YourComponent } from '../your-component/your-component.component';
@Component({
selector: 'app-another-component',
templateUrl: './another-component.component.html',
styleUrls: ['./another-component.component.css']
})
export class AnotherComponent {
constructor(private yourComponent: YourComponent) {
// 在构造函数中注入YourComponent组件
}
// 在需要访问div的地方使用this.yourComponent.myDiv.nativeElement
}
现在,你可以在另一个组件中使用this.yourComponent.myDiv.nativeElement来访问第一个组件中的div。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云