在Angular中,当与ViewChild相关联的函数执行两次时,可以通过以下方法解决:
import { Component, ViewChild, AfterViewInit } from '@angular/core';
@Component({
...
})
export class YourComponent implements AfterViewInit {
@ViewChild('yourElement') yourElement: any;
ngAfterViewInit() {
this.yourFunction();
}
yourFunction() {
// 执行需要与ViewChild相关联的代码
}
}
import { Component, ViewChild, AfterViewInit } from '@angular/core';
@Component({
...
})
export class YourComponent implements AfterViewInit {
@ViewChild('yourElement') yourElement: any;
ngAfterViewInit() {
setTimeout(() => {
this.yourFunction();
});
}
yourFunction() {
// 执行需要与ViewChild相关联的代码
}
}
这两种方法都可以确保与ViewChild相关联的函数只执行一次。选择哪种方法取决于具体的需求和情况。