简体   繁体   English

如何从 Flutter 中的另一个文件调用 function?

[英]How to call a function from another file in Flutter?

I am new to dart and am trying to call a function from my auth.dart file in my sign in page I tried many solutions but it did'nt work out, so any NEW Ideas?我是 dart 的新手,我试图在我的登录页面中从我的 auth.dart 文件中调用 function,所以我尝试了很多解决方案,但它没有奏效? This is my auth file:这是我的身份验证文件:

abstract class BaseAuth{
  Future<FirebaseUser> currentUser();
  Future<String> signIn(String email, String password);
  Future<String> createUser(String email, String password);
  Future<void> signOut();
  Future<String> getEmail();
  Future<bool> isEmailVerified();
  Future<void> resetPassword(String email);
  Future<void> sendEmailVerification();
}
class Auth implements BaseAuth{
  final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
  Future<String> signIn(String email, String password) async {
    FirebaseUser user = (await _firebaseAuth.signInWithEmailAndPassword(email: email, password: password)) as FirebaseUser;
    return user.uid;
  }
  Future<String> createUser(String email, String password) async {
    FirebaseUser user = (await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password)) as FirebaseUser;
    return user.uid;
  }
  Future<FirebaseUser> currentUser() async {
    FirebaseUser user = await _firebaseAuth.currentUser();
    print("uid ${user.uid}");
    return user;
  }
  Future<String> getEmail() async{
    FirebaseUser user = await _firebaseAuth.currentUser();
    return user.email;
  }
  Future<void> signOut() async {
    return _firebaseAuth.signOut();
  }
  Future<bool> isEmailVerified() async{
    FirebaseUser user = await _firebaseAuth.currentUser();
    return user.isEmailVerified;
  }
  Future<void> resetPassword(String email) async{
    return _firebaseAuth.sendPasswordResetEmail(email: email);
  }
  Future<void> sendEmailVerification() async{
    FirebaseUser user = await _firebaseAuth.currentUser();
    return user.sendEmailVerification();
  }
}

first you need to import the file.首先你需要导入文件。 Do this at the very top of your file.在文件的最顶部执行此操作。 You need to provide the path to the file from the current file location.您需要提供从当前文件位置到文件的路径。 So if current file is in /lib and the new file is in /lib/widgets your path is "widgets/new.dart".因此,如果当前文件在 /lib 中,而新文件在 /lib/widgets 中,则您的路径是“widgets/new.dart”。 You can go up a folder like this "../new.dart"您可以 go 像这样的文件夹“../new.dart”

import 'new.dart';

Then instantiate an object of your class and use that object to call functions.然后实例化 class 的 object 并使用该 object 调用函数。

New x = New();
x.getFromOtherFile();

"New" is my class name in this example.在此示例中,“新”是我的 class 名称。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM