Angularjs:如何将整个对象传递给另一个控制器?

Angularjs:如何将整个对象传递给另一个控制器?,angularjs,Angularjs,好的,我对AngularJS很陌生。我正在将一个相当粗糙的应用程序(我已经写了几天)从主要使用jQuery转换为使用Angular。[我在研究如何缓解我遇到的书签和后退按钮问题时,发现了“中流” 在我的主页上,我有一个搜索结果表。(如果用户到达时未传递任何参数,则会调用默认搜索来构建表。当然,他们可以使用该页面上的搜索表单来显示不同的结果集。) 现在,当用户单击表格项目时,我希望该表格或多或少“成为”项目详细信息页面上的下拉菜单,可用于从一个表格项目导航到下一个表格项目。(在任何给定时间,列表长

好的,我对AngularJS很陌生。我正在将一个相当粗糙的应用程序(我已经写了几天)从主要使用jQuery转换为使用Angular。[我在研究如何缓解我遇到的书签和后退按钮问题时,发现了“中流”

在我的主页上,我有一个搜索结果表。(如果用户到达时未传递任何参数,则会调用默认搜索来构建表。当然,他们可以使用该页面上的搜索表单来显示不同的结果集。)

现在,当用户单击表格项目时,我希望该表格或多或少“成为”项目详细信息页面上的下拉菜单,可用于从一个表格项目导航到下一个表格项目。(在任何给定时间,列表长度通常少于20项。)相同的数据,相同的排序顺序,只是在不同的控件中

而不是构建“子”页面,这样(除了调用Ajax来提取项目详细信息之外),它会再次运行完全相同的查询,然后从中构建一个下拉列表。。。我想也许有更有效的方法

也许,将整个对象从搜索结果传递到详细信息控制器?(我还必须为用户实际单击的任何项目传递id以获取详细信息。)


[使用jQuery,我一直在同一页上构建下拉列表和结果表…然后只需使用show()和hide()来替换显示的结果。每当选择表行或下拉选项时,我将获取项目详细信息数据并填充/显示隐藏的详细信息div。]

首先,我认为您应该使用某种路由,也许这会有所帮助

第二,如果你想用多个控制器访问同一个对象,你应该用你的对象使用工厂,你所需要的就是把工厂注入你的控制器,你就可以从多个控制器访问同一个对象。以下是简短的教程,非常容易理解:

第三个选项,但不好,是从一个控制器发出或广播事件并发送对象,在另一个控制器中,您可以为该事件设置侦听器,在这里您可以找到更多信息:


指南:不要问。。。对于那些可能关注的人,你还没有试图找到答案的问题(展示你的作品!):我发现这个链接上的视频非常有用--->使用它,我可以简单地从搜索结果中获取我的对象,将其存储在服务中,然后在不同的控制器上以不同的视图再次取出。