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

时间:2020-05-29 15:06:26

标签: function flutter

我是dart的新手,正在尝试从登录页面的auth.dart文件中调用函数,我尝试了许多解决方案,但没有成功,所以有什么新想法吗? 这是我的身份验证文件:

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();
  }
}

1 个答案:

答案 0 :(得分:0)

首先,您需要导入文件。在文件的最顶部执行此操作。您需要提供从当前文件位置到文件的路径。因此,如果当前文件位于/ lib中,而新文件位于/ lib / widgets中,则路径为“ widgets / new.dart”。您可以在这样的文件夹中添加“ ../ new.dart”

import 'new.dart';

然后实例化您的类的对象,并使用该对象来调用函数。

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

在此示例中,“ New”是我的班级名称。