【问题标题】:child added and child changed firing multiple times添加了孩子并且孩子多次更改了射击
【发布时间】:2016-01-22 13:50:04
【问题描述】:

我正在制作一个使用 ionic 和 firebase 作为其后端的应用程序。我正在使用添加的孩子和更改的孩子来监视两个单独的事件,但它会为添加的孩子持续触发 2 次,为更改的孩子触发大约 8 次并检查火力库,我只添加了一个孩子而不是两个....这是代码sn-ps

1.

  new Firebase("https://popping-torch-3029.firebaseio.com/btr/users/acceptedBySender/myid/").on("child_added",function(data,prevchild){

    console.log('added just fired');

       //the console will log this 2 times

 });

2.

    new Firebase("https://popping-torch-3029.firebaseio.com/btr/users/posted/myid/").on("child_changed",function(data){

       console.log('changed just fired');

       //the console will log this 8 times

    });

【问题讨论】:

  • 这里的代码太多,我无法快速弄清楚发生了什么。但是从查看您的数据库来看,所有用户都有超过 2 个子节点。如果你运行相同的查询没有离子,你会遇到同样的问题吗?如果是这样,请在没有离子的情况下发布您的问题的最小复制。请参阅stackoverflow.com/help/mcve,了解最小复制有何帮助以及为什么它可以让我们更好地帮助您。
  • 感谢您的提示,我刚刚对其进行了编辑。请再看一下,也许您现在会发现问题。
  • 不。这些 URL 上没有数据。另请注意,child_changed 只会在数据发生变化时触发,这意味着必须有一些东西在积极地改变它。您可能正在运行另一个更改它的客户端。但是,如果没有看到问题的最小、完整再现,就没有足够的信息来提供帮助。考虑设置一个 jsfiddle/jsbin 来重现您的问题。

标签: javascript angularjs ionic-framework firebase


【解决方案1】:

我现在已经解决了这个问题。事实证明,由于控制器绑定到多个视图,控制器正在重新加载。每次加载它都会创建一个新的“观察者”......我希望这很清楚

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2012-04-26
    • 2020-11-14
    • 2013-08-11
    • 2021-07-21
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多