1

ドキュメントを一度だけ取得し、データベースとのあらゆる種類の双方向同期を回避する方法があるかどうか疑問に思っていました。

Polymerfire のドキュメントは貧弱で、見つけることができませんでした。

ありがとう

4

2 に答える 2

0

別の解決策を見つけました。データが既にロードされているかどうかを確認してから、firebase 参照で off() メソッドを呼び出して、すべてのリスナーを無効にすることができます。

コードの重要な部分は次のとおりです。

<firebase-document id="office_document" app-name="doctor-appointment-system" path="/offices/{{profileID}}" data="{{officeData}}">
</firebase-document>


        dataNotLoaded: {
            type: Boolean,
            computed: 'computeDataAvailability(officeData)',
            observer: 'disableReference'
        }

        computeDataAvailability: function (data) {
            return Object.keys(data).length === 0;
        }

        disableReference: function (dataNotLoaded) {
            if (!dataNotLoaded) {
                this.$.office_document.ref.off();
            }
        },

私はこのアプローチを好みます。これにより、Polymerfire を使用できるようになり、データがロードされてペーパースピナーを無効にするかどうかを確認する必要があったため、コードが不必要に複雑になることはありませんでした。

于 2016-12-21T21:11:14.687 に答える