在app.module.ts中初始化Firestore时如何禁用Firestore持久性?

时间:2019-05-09 13:57:23

标签: angular firebase ionic-framework google-cloud-firestore

由于Firestore(https://github.com/firebase/firebase-js-sdk/issues/1642)中的错误,我们需要为iOS设备禁用持久性。

我能找到的所有说明文件都可以做到(

const firestore = firebase.firestore();
firestore.settings({ persistence: false });

(来自https://github.com/invertase/react-native-firebase/issues/1143

并且,在进行任何其他Firestore调用之前,我们必须先执行此操作。

但是,我们正在“ main” app.module.ts中以这种方式初始化firestore:

    AngularFireModule.initializeApp(credentials),
    AngularFirestoreModule,

那么,我应该在哪里将持久性设置为false的代码,以及如何导入需要导入的代码才能实现此目的?

谢谢。

2 个答案:

答案 0 :(得分:0)

我执行此操作的方法是通过初始化应用程序传递Firebase配置。我将该配置存储在“环境”文件夹中。我看到您的称为凭证。

export const environment = {
firebaseConfig: {
    apiKey: "key",
    authDomain: "domain",
    databaseURL: "https://some-database-name.firebaseio.com",
    projectId: "projectId",
    storageBucket: "storage-bucket",
    messagingSenderId: "123456789",
    persistance: false
  }

}

imports: [
    AngularFireModule.initializeApp(environment.firebaseConfig)
]

答案 1 :(得分:0)

默认情况下禁用持久性。那就是为什么你写:

    AngularFireModule.initializeApp(credentials),
    AngularFirestoreModule,

您失去了持久性。

要启用持久性,您必须编写:

    AngularFireModule.initializeApp(credentials),
    AngularFirestoreModule.enablePersistence(),

这就是为什么您无需为案例中的残障持久性做任何事情。