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

Use factory to share information between controllers

本文关键字:之间 共享 信息 控制器 工厂      更新时间:2023-09-26

我想在控制器之间共享信息,但我似乎不知道如何共享。我有一组型号为radioSelect的收音机,当我选择了某个收音机时,我想在另一个控制器中隐藏一些东西。我知道这可能看起来很简单,但我是棱角分明的新手,任何帮助都将不胜感激!!

这是我的尝试:

.factory("sessionCheck", function() {
    var sessionCheck={};
 sessionCheck.update = function (index) {
  sessionCheck = index;
  return sessionCheck;
 };

我建立了一个工厂,并将依赖项注入到2个控制器中,1个控制器有一个关于ng更改的函数,用于无线电发送值(这与更新配合得很好)。然而,如果我能以某种方式分享收音机的型号信息,那就太好了,这样我就不必改变(它一直在听)。最终结果应该是,如果在无线电中选择了"周"选项,则此工厂注入的另一个控制器中的一个项目。因此,如果在两个监听无线电的控制器之间有某种流,那将是理想的。

谢谢!!

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

每次使用更新时,您都会重新定义sessionCheck变量

sessionCheck=索引;

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

只需返回更新函数,就可以将sessionCheck用作服务。这将是相同的sessionCheck,因为angular中的服务都是singleton。

例如。

.factory("sessionCheck",function(){

var sessionCheck={};

var更新=函数(索引){

sessionCheck=索引;return sessionCheck;

};

返回{更新:更新}

}