我有一个与Firebase同步的组件。我希望组件的实例具有一些 not 同步到Firebase的属性:
Vue.component('myComponent', {
data: function(){
return {
title: '',
isShown: false
}
}
});
title
应保存到数据库中,但isShown
不应该保存,因为它仅用于在浏览器中显示和隐藏元素。
有没有办法在组件实例中添加反应属性而不将它们同步到Firebase?
答案 0 :(得分:1)
仅将Firebase数据引用同步到Firebase。 data
对象中的条目将在Vue中被激活,但默认情况下不会同步到服务器。组件属性可以是firebase引用或普通客户端数据对象,具体取决于在prop中传递的父组件的内容。
一些例子:
var firebaseApp = firebase.initializeApp({ ... });
var db = firebaseApp.database();
Vue.component('myComponent', {
data: function() {return {
foo: true, // <-- 'foo' will not be synced
}},
firebase: function() {return { // (vuefire hook)
bar: db.ref('path/to/bar') // <-- 'bar' will be synced
}},
mounted: function() {return {
this.$bindAsArray('baz',db.ref('path/to/baz')) // <-- 'baz' will be synced
// ($bindAs is also from vuefire)
}},
props: [qux] // <-- depends on what the parent component passed down
}