How to share a variable between multiple modules in AngularJS

≯℡__Kan透↙ 提交于 2020-02-06 03:41:16

问题


I'm new to AngularJS and understand the basic principles. However, I'm having a case now where I don't yet know how to get to the solution.

Let me briefly explain you the case. Let's say you have a supermarket webshop where there is an input box where you can type to search for your food. Next to the input box, there is an icon that displays a modal on click with all the most ordered foods.

This modal has it's own controller and the searchpanel in which the inputbox is has it's own controller.

Now when a food is sold out this gets striked through in the modal. But when every popular food is sold out I want the modal not to show on click.

I thought I could assign a variable to the scope of the modal but then I couldn't access it in the scope of the searchbar. I could work with rootScope I think, but I would really like to know if there is a better solution.

Thanks in advance and if you need more info, please let me know.

adev


回答1:


I would suggest you can use $watch on your food object/var if any changes happen $broadcast it your change to all and then in your child/modal control catch it with $on.

Hope this help!




回答2:


Take a look at Angular Services.

Angular services are substitutable objects that are wired together using dependency injection (DI). You can use services to organize and share code across your app.

Also:

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

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



来源:https://stackoverflow.com/questions/33921344/how-to-share-a-variable-between-multiple-modules-in-angularjs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!