使用工厂在控制器之间共享信息

时间:2014-09-05 22:37:59

标签: javascript angularjs

我想在控制器之间共享信息,我似乎无法弄清楚如何。我有一组带有radioSelect模型的无线电,当我选择了某个时,我想要另一个控制器中的东西来隐藏。我知道这可能看起来很简单,但我很有棱角,任何帮助都会非常感激!!

这是我的尝试:

.factory("sessionCheck", function() {

    var sessionCheck={};

 sessionCheck.update = function (index) {

  sessionCheck = index;
  return sessionCheck;

 };

我建立了一个工厂并将依赖项注入2个控制器,1个控制器具有ng-change功能,用于无线电发送值(在更新时可以正常工作)。然而,如果我可以以某种方式共享无线电模型信息,这将是非常好的,所以我不必改变(它不断听)。最终结果应该是如果在无线电中选择“周”选择,则由该工厂注入的另一个控制器中的项目。因此,如果两个控制器之间存在某种流来监听无线电,那将是理想的。

谢谢!

2 个答案:

答案 0 :(得分:1)

我不确定这是否能回答你的问题。但是如果你想共享一个变量,你可以使用$ rootScope。您可以在此处查看文档https://docs.angularjs.org/api/ng/service/ $ rootScope

答案 1 :(得分:0)

您每次使用

重新定义sessionCheck变量

sessionCheck = index;

这意味着该对象不再有更新功能。

只需返回更新功能,即可将sessionCheck用作服务。它将是相同的sessionCheck,因为角度服务都是单例。

例如

.factory(" sessionCheck",function(){

var sessionCheck={};

var update = function(index){

sessionCheck = index;   return sessionCheck;

};

返回{      更新:更新 }

}