如何在AngularJS中的多个模块之间共享变量

时间:2015-11-25 16:15:22

标签: angularjs angularjs-scope angularjs-controller

我是AngularJS的新手,了解基本原则。但是,我现在有一个案例,我现在还不知道如何找到解决方案。

让我简要解释一下你的情况。假设你有一家超市网上商店,那里有一个输入框,你可以输入搜索你的食物。在输入框旁边,有一个图标,显示点击模式,包含所有最有序的食物。

这个模态有它自己的控制器和输入框所在的搜索面板,它有自己的控制器。

现在,当食物售罄时,这种模式会受到冲击。但是当每一种受欢迎的食物都售罄时,我希望模式不会在点击时显示。

我以为我可以将一个变量分配给模态的范围但是我无法在搜索栏的范围内访问它。我认为我可以使用rootScope,但我真的想知道是否有更好的解决方案。

提前致谢,如果您需要更多信息,请告知我们。

ADEV

2 个答案:

答案 0 :(得分:0)

我建议您可以在食物对象/ var上使用$ watch,如果发生任何变化,请将您的更改广播给所有人,然后在您的孩子/模态控件中使用$ on抓住它。

希望这有帮助!

答案 1 :(得分:0)

看看Angular Services

  

Angular服务是使用依赖注入(DI)连接在一起的可替换对象。您可以使用服务在整个应用中组织和共享代码。

另外:

passing-data-between-controllers-in-angular-js

how-can-i-pass-variables-between-controllers