0

我有一个与 Firebase 同步的组件。我希望组件的实例具有一些不会同步到 Firebase 的属性:

Vue.component('myComponent', {
    data: function(){
        return {
            title: '',
            isShown: false
        }
    }
});

title应该保存到数据库中,但isShown不应该,因为它只是用来在浏览器中显示和隐藏元素。

有没有办法在不将它们同步到 Firebase 的情况下向组件实例添加反应属性?

4

1 回答 1

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 
}
于 2017-04-21T17:18:56.960 回答