angularjs - 保存新属性会覆盖 firebase 对象

标签 angularjs firebase

我正在使用 firebase 和 angular 进行测验。在测验结束时,我想使用以下代码将新属性保存到用户对象:

function saveTopscore() {
    var ref = new Firebase(CONSTANTS.FIREBASE_URL + 'users/' + User.user.$id + '/');
    var userObject = $firebaseObject(ref);
    userObject.topscore = User.totalCorrect;
    userObject.$save().then(function(ref) {
        console.log("worked");
    }, function(error) {
        console.log(error);
    });
}

它有效,但它也覆盖了用户对象的所有属性。因此,该对象曾经像姓名、用户名、电子邮件、密码等一样保存,但是当我推送最高分时,它成为该对象的唯一属性。为什么?

最佳答案

你为什么在这里使用 $firebaseObject?这仅在您将其三向绑定(bind)到 Angular View 时才有用。如果您使用的是常规 JavaScript 代码,只需坚持使用 Firebase 的常规 JavaScript SDK。

在这种情况下,只需执行:

ref.update({ topscore: User.totalCorrect });

关于angularjs - 保存新属性会覆盖 firebase 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29834986/

相关文章:

javascript - 使用 angular.js 和 ui.bootstrap 时,模式内部的按钮单击事件不会触发

javascript - 将幻灯片动画添加到 ng-repeat

angularjs - Angular 配置中的 $http 请求 - 这可能吗?

angularjs - 如何直接将 $http 注入(inject)提供程序?

android - 如何更新firebase实时数据库中特定子节点的值?

javascript - Angularjs ng-repeat with Object key value filter ng-model name 不起作用

android - 数据未从 Android 应用程序保存到 Firebase

android - FCM 通知标题仍然是 "FCM Message"

如果查询中包含 +(加号)符号,firebase Rest api equalto 搜索将失败

ios - 我从 IOS Firebase API 获得 Apple Revoke Tokens Endpoint Parameters (client_id, client_secret, token)