在控制器AngularJS之间共享数据

时间:2014-12-09 12:34:27

标签: angularjs controller

在我们的案例中,我们的应用程序中有一个搜索功能,可在输入搜索词后显示搜索结果。搜索结果是我们案例中的产品。当我们点击其中一个产品时,我们会发送到该页面,其中包含有关此产品的信息。现在我们的问题是,当我们想要返回搜索页面时,我们希望一个方法返回到与我们离开搜索页面之前完全相同的页面。而不是一个全新的搜索页面。

我们将HTML分为3个视图,我们使用UIRouter加载。

enter image description here 我们需要在标题,内容和页脚之间共享数据。当我们显示搜索结果时,我们希望在标题中显示结果数量。

总之;我们需要在控制器/视图之间共享数据。什么是最好的解决方案? 我们考虑过:
将mainController添加到主体并将其用作介质以在控制器之间传递数据。 将所有数据存储在工厂中,并直接从所有控制器访问此工厂。但是,所有观点都会直接更新数据吗? (2路绑定?)

但是,我们还没有开始工作。管理这个的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

正如Mertins在评论中提到的那样,服务可以为此目的做好。

将该服务注入所有相关控制器,实际上,由于双向绑定,所有相关数据都将得到正确更新。

不要使用控制器,这不是它们的意思!

如果您需要服务注入注释的代码示例,我将更新此答案。