Javascript 角度工厂变量变化未反映在控制器中

Javascript 角度工厂变量变化未反映在控制器中,javascript,angularjs,angularjs-service,Javascript,Angularjs,Angularjs Service,我一直在尝试在我的Angular应用程序中使用一个工厂,以便能够在控制器之间共享和更新变量,但我运气不太好。我正在使用的应用程序基本上是将消息接收到收件箱中,然后我可以决定是否将它们显示在可视化工具上,以供人们查看。这是一款实时互动应用程序,当演讲者想要与观众互动并查看他们对问题/陈述的回答时,可以在会议或其他场合使用 我使用工厂来跟踪队列中的消息,这些消息将显示在visualizer页面上。当我从收件箱向队列中添加消息时,工厂似乎正在更新。但是,在visualizer页面上,没有更新引用工厂的

我一直在尝试在我的Angular应用程序中使用一个工厂,以便能够在控制器之间共享和更新变量,但我运气不太好。我正在使用的应用程序基本上是将消息接收到收件箱中,然后我可以决定是否将它们显示在可视化工具上,以供人们查看。这是一款实时互动应用程序,当演讲者想要与观众互动并查看他们对问题/陈述的回答时,可以在会议或其他场合使用

我使用工厂来跟踪队列中的消息,这些消息将显示在visualizer页面上。当我从收件箱向队列中添加消息时,工厂似乎正在更新。但是,在visualizer页面上,没有更新引用工厂的范围变量

这是我的工厂代码:

angular.module('tellApp')
  .factory('VisualizerFactory', function () {

  return {
    queue: [],
    active: {},
    addToQueue: function(msg){
      this.queue.push(msg);
    }
  }

  });
基本上,我在收件箱中调用addToQueue函数,并传入一个包含消息和一些详细信息的对象。在visualizer页面上,我所做的只是查看VisualizerFactory对象,看看它是否在更新。它只返回空的VisualizerFactory对象


谢谢你的帮助

问题很可能是您的范围内有一个工厂的副本,该副本不会更新,因为它是一个不同的引用


您可能可以触发来自服务的消息来通知控制器实例。

谢谢您的帮助!你能给我举个例子吗?我不确定如何通知控制器实例。我还尝试使用$watch监视工厂中的更改并将其应用到本地范围,但这也不起作用。