gpt4 book ai didi

javascript - 如何从 Angular 函数中导出变量?

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:30 24 4
gpt4 key购买 nike

当我在函数内部定义变量时,我无法在外部使用它。

我尝试在 NgOnInit 中定义一个变量,但它也不起作用。

我的代码:

addLink() {
if(
this.product.name !== '' &&
this.product.price !== 0 &&
this.product.instaURL !== '') {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
let uid = user.uid;
console.log(uid) //THIS WORK
}
});
console.log(uid); //THIS DONT WORK
this.productService.addProduct(this.product);
this.product = {} as Product;
}
}

我得到的错误:

TS2304: Cannot find name 'uid'.

最佳答案

因为uid是一个 block 作用域变量。您可以从here了解有关变量作用域的更多信息。 。您还可以在代码中进行以下更改,以在 if 条件之外获取 uid

addLink() {
let uid;
if(this.product.name !== '' && this.product.price !== 0 && this.product.instaURL !== '') {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
uid = user.uid;
console.log(uid) //THIS WORK
}
});
console.log(uid); //THIS WILL WORK TOO
this.productService.addProduct(this.product);
this.product = {} as Product;
}
}

关于javascript - 如何从 Angular 函数中导出变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56996037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com