DataSnapshot
berisi data dari lokasi Database.
Setiap kali membaca data dari Database, Anda menerima data sebagai DataSnapshot
. DataSnapshot
diteruskan ke callback peristiwa yang Anda lampirkan dengan on()
atau once()
. Anda dapat mengekstrak konten snapshot sebagai objek JavaScript dengan memanggil metode val()
. Atau, Anda dapat melintas ke dalam snapshot dengan memanggil child()
untuk menampilkan snapshot turunan (yang kemudian dapat Anda panggil val()
).
DataSnapshot
adalah salinan data yang dibuat secara efisien dan tidak dapat diubah di lokasi Database. Metode tidak dapat diubah dan tidak akan pernah berubah (untuk mengubah data, Anda selalu memanggil metode set()
di Reference
secara langsung).
Tanda Tangan:
export declare class DataSnapshot
Properti
Properti | Pengubah | Jenis | Deskripsi |
---|---|---|---|
key | rangkaian | null (kosong) | Kunci (bagian terakhir jalur) lokasi DataSnapshot ini.Token terakhir di lokasi Database dianggap sebagai kuncinya. Misalnya, "ada" adalah kunci untuk
simpul {i> /users/ada/ <i}. Mengakses kunci di DataSnapshot akan menampilkan kunci untuk lokasi yang membuatnya. Namun, mengakses kunci di URL root Database akan menampilkan null . |
|
prioritas | rangkaian | angka | null (kosong) | Mendapatkan nilai prioritas data dalam DataSnapshot ini.Aplikasi tidak perlu menggunakan prioritas, tetapi dapat mengurutkan kumpulan berdasarkan properti biasa (lihat Mengurutkan dan memfilter data ). |
|
referensi | DatabaseReference | Lokasi DataSnapshot ini. | |
size | angka | Menampilkan jumlah properti turunan dari DataSnapshot ini. |
Metode
Metode | Pengubah | Deskripsi |
---|---|---|
child(jalur) | Mendapatkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan.Meneruskan jalur relatif ke metode child() DataSnapshot akan menampilkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan. Jalur relatif dapat berupa nama turunan sederhana (misalnya, "ada") atau jalur yang lebih dalam yang dipisahkan garis miring (misalnya, "ada/name/first"). Jika lokasi turunan tidak memiliki data, DataSnapshot kosong (yaitu, DataSnapshot yang nilainya adalah null ) akan ditampilkan. |
|
exists() | Menampilkan true (benar) jika DataSnapshot ini berisi data apa pun. Ini sedikit lebih efisien daripada menggunakan snapshot.val() !== null . |
|
exportVal() | Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript.Metode exportVal() mirip dengan val() , tetapi informasi prioritas disertakan (jika tersedia), sehingga cocok untuk mencadangkan data Anda. |
|
forSetiap(tindakan) | Menghitung turunan tingkat teratas di IteratedDataSnapshot .Karena cara kerja objek JavaScript, urutan data dalam objek JavaScript yang ditampilkan oleh val() tidak dijamin cocok dengan pengurutan di server atau urutan peristiwa onChildAdded() . Di sinilah forEach() berguna. Hal ini menjamin turunan DataSnapshot akan diiterasi dalam urutan kueri mereka.Jika tidak ada metode orderBy*() eksplisit yang digunakan, hasil akan diurutkan berdasarkan kunci (kecuali jika prioritas digunakan, dalam hal ini, hasilnya akan ditampilkan berdasarkan prioritas). |
|
hasChild(jalur) | Menampilkan true (benar) jika jalur turunan yang ditentukan memiliki data (non-null). | |
hasChildren() | Menampilkan apakah DataSnapshot memiliki properti turunan non-null atau tidak.Anda dapat menggunakan hasChildren() untuk menentukan apakah DataSnapshot memiliki turunan. Jika ya, Anda dapat menghitungnya menggunakan forEach() . Jika tidak, snapshot ini berisi nilai primitif (yang dapat diambil dengan val() ) atau kosong (dalam hal ini, val() akan menampilkan null ). |
|
toJSON() | Menampilkan representasi JSON-serial yang dapat diserialisasi dari objek ini. | |
val() | Mengekstrak nilai JavaScript dari DataSnapshot .Bergantung pada data dalam DataSnapshot , metode val() dapat menampilkan jenis skalar (string, angka, atau boolean), array, atau objek. Fungsi ini juga dapat menampilkan null, yang menunjukkan bahwa DataSnapshot kosong (tidak berisi data). |
KunciDataSnapshot.
Kunci (bagian terakhir jalur) lokasi DataSnapshot
ini.
Token terakhir di lokasi Database dianggap sebagai kuncinya. Misalnya, "ada" adalah kunci untuk
simpul {i> /users/ada/ <i}. Mengakses kunci di DataSnapshot
akan menampilkan kunci untuk lokasi yang membuatnya. Namun, mengakses kunci di URL root Database akan menampilkan null
.
Tanda Tangan:
get key(): string | null;
DataSnapshot.priority
Mendapatkan nilai prioritas data dalam DataSnapshot
ini.
Aplikasi tidak perlu menggunakan prioritas, tetapi dapat mengurutkan koleksi berdasarkan properti biasa (lihat Mengurutkan dan memfilter data).
Tanda Tangan:
get priority(): string | number | null;
DataSnapshot.ref
Lokasi DataSnapshot ini.
Tanda Tangan:
readonly ref: DatabaseReference;
DataSnapshot.size
Menampilkan jumlah properti turunan dari DataSnapshot
ini.
Tanda Tangan:
get size(): number;
DataSnapshot.child()
Mendapatkan DataSnapshot
lain untuk lokasi di jalur relatif yang ditentukan.
Meneruskan jalur relatif ke metode child()
DataSnapshot akan menampilkan DataSnapshot
lain untuk lokasi di jalur relatif yang ditentukan. Jalur relatif dapat berupa nama turunan sederhana (misalnya, "ada") atau jalur yang lebih dalam yang dipisahkan garis miring (misalnya, "ada/name/first"). Jika lokasi turunan tidak memiliki data, DataSnapshot
kosong (yaitu, DataSnapshot
yang nilainya adalah null
) akan ditampilkan.
Tanda Tangan:
child(path: string): DataSnapshot;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
jalur | string | Jalur relatif ke lokasi data turunan. |
Hasil:
DataSnapshot.exists()
Menampilkan true (benar) jika DataSnapshot
ini berisi data apa pun. Hal ini sedikit lebih efisien daripada menggunakan snapshot.val() !== null
.
Tanda Tangan:
exists(): boolean;
Hasil:
boolean
DataSnapshot.exportVal()
Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript.
Metode exportVal()
mirip dengan val()
, tetapi metode ini menyertakan informasi prioritas (jika tersedia), sehingga cocok untuk mencadangkan data Anda.
Tanda Tangan:
exportVal(): any;
Hasil:
apa pun
Konten DataSnapshot sebagai nilai JavaScript (Objek, Array, string, angka, boolean, atau null
).
DataSnapshot.forSetiap()
Menghitung turunan tingkat teratas di IteratedDataSnapshot
.
Karena cara kerja objek JavaScript, urutan data dalam objek JavaScript yang ditampilkan oleh val()
tidak dijamin akan cocok dengan pengurutan di server atau urutan peristiwa onChildAdded()
. Di sinilah forEach()
berguna. Metode ini menjamin turunan DataSnapshot
akan diiterasi dalam urutan kueri mereka.
Jika tidak ada metode orderBy*()
eksplisit yang digunakan, hasil akan ditampilkan yang diurutkan berdasarkan kunci (kecuali jika prioritas digunakan, dalam hal ini, hasilnya akan ditampilkan berdasarkan prioritas).
Tanda Tangan:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
action | (child: IteratedDataSnapshot) => boolean | kosong | Fungsi yang akan dipanggil untuk setiap DataSnapshot turunan. Callback dapat menampilkan true untuk membatalkan enumerasi lebih lanjut. |
Hasil:
boolean
true jika enumerasi dibatalkan karena callback Anda menampilkan true.
DataSnapshot.hasChild()
Menampilkan true (benar) jika jalur turunan yang ditentukan memiliki data (non-null).
Tanda Tangan:
hasChild(path: string): boolean;
Parameter
Parameter | Jenis | Deskripsi |
---|---|---|
jalur | string | Jalur relatif ke lokasi calon anak. |
Hasil:
boolean
true
jika data ada di jalur turunan yang ditentukan; Lainnya false
.
DataSnapshot.hasChildren()
Menampilkan apakah DataSnapshot
memiliki properti turunan non-null
atau tidak.
Anda dapat menggunakan hasChildren()
untuk menentukan apakah DataSnapshot
memiliki turunan. Jika ya, Anda dapat menghitungnya menggunakan forEach()
. Jika tidak, snapshot ini berisi nilai primitif (yang dapat diambil dengan val()
) atau kosong (dalam hal ini, val()
akan menampilkan null
).
Tanda Tangan:
hasChildren(): boolean;
Hasil:
boolean
true jika snapshot ini memiliki turunan; {i>else false<i}.
DataSnapshot.toJSON()
Menampilkan representasi JSON-serial yang dapat diserialisasi dari objek ini.
Tanda Tangan:
toJSON(): object | null;
Hasil:
objek | null (kosong)
DataSnapshot.val()
Mengekstrak nilai JavaScript dari DataSnapshot
.
Bergantung pada data dalam DataSnapshot
, metode val()
dapat menampilkan jenis skalar (string, angka, atau boolean), array, atau objek. Fungsi ini juga dapat menampilkan null, yang menunjukkan bahwa DataSnapshot
kosong (tidak berisi data).
Tanda Tangan:
val(): any;
Hasil:
apa pun
Konten DataSnapshot sebagai nilai JavaScript (Objek, Array, string, angka, boolean, atau null
).