清除阵列时,Ember fire无法正常同步

时间:2016-04-28 07:26:44

标签: firebase emberfire

我在firebase中存储一个对象数组,并使用服务器中的push方法,如下所示:

  firebaseRef.child('colors').push(body, (error) => {
    if(error) {
      res.send(500, error);
    }
    else {
      res.send(200);
    }

    return next();
  });

在我正在使用的客户端上:

model() {
  return this.store.findAll('color');
}

我有一个操作,我想要清除数组,我现在正在使用set([]),如下所示:

firebaseRef.child('colors').set([], (error) => { ... });

如果我从管理门户查看数据,我可以看到颜色节点和所有元素都被删除;但是,ember客户端仍然显示数组中的所有项目。即使我在数组中添加一个项目使其长度为1,如果它之前有23个,它仍然会显示24个。只有在我完全刷新客户端后才能正确识别数组的长度。

如何以客户端保持同步的方式重置数组,而不必逐个删除每个元素?

1 个答案:

答案 0 :(得分:0)

直接从firebase清除数据,同时避免使用ember数据存储。要做到这一点,你必须按照" Ember Way"通过在本地数据存储中清除它,然后将这些相同的更改推送到firebase。

弄清楚如何从ember数据中清除颜色模型,你应该得到你期望的结果