Чтобы вызвать off
после того, как данные были прочитаны из базы данных, переместите их в обратный вызов:
quotesRef.orderByChild('index').on('value', function(snapshot) {
snapshot.forEach(function(childSnapShot) {
vm.allQuotes.push({
key: childSnapShot.key,
quoteTxt: childSnapShot.val().quote
})
})
quotesRef.off('value')
})
Но, как прокомментировал Андре, это точный эквивалент использования once()
:
quotesRef.orderByChild('index').once('value', function(snapshot) {
snapshot.forEach(function(childSnapShot) {
vm.allQuotes.push({
key: childSnapShot.key,
quoteTxt: childSnapShot.val().quote
})
})
})