我一直在尝试在我的Angular应用程序中使用工厂,以便能够在控制器之间共享和更新变量,但是我没有太多运气。我正在处理的应用程序基本上将消息接收到收件箱中,然后我可以决定是否在可视化工具上显示它们供人们查看。这是一个实时交互式应用程序,可以在会议期间使用,或者当演讲者想要与观众互动并查看他们对问题/陈述的回答时使用。
我正在使用工厂来跟踪将在可视化工具页面上显示的队列中的消息。当我从收件箱中将消息添加到队列中时,似乎正在更新工厂。但是,在可视化工具页面上,引用工厂的范围变量未更新。
这是我的工厂代码:
angular.module('tellApp')
.factory('VisualizerFactory', function () {
return {
queue: [],
active: {},
addToQueue: function(msg){
this.queue.push(msg);
}
}
});
基本上,从我的收件箱中,我调用addToQueue函数并传入包含该消息和一些细节的对象。在可视化器页面上,我正在做的只是查看VisualizerFactory对象以查看它是否正在更新而不是。它只返回空的VisualizerFactory对象。
感谢您的帮助!
答案 0 :(得分:0)
问题很可能是您的示波器中有工厂的副本,由于它是不同的参考,因此不会更新。
您可以从服务触发消息以通知控制器实例。