angular 两个控制器中方法怎么互相调用?

发布于 2022-09-06 01:02:55 字数 217 浏览 21 评论 0

描述:一个页面里,主页面用了一个controller1,侧边栏用了controller2,不是嵌套关系。

问题:想在操作侧边栏执行controller2中方法时再触发controller1中方法刷新主页面的列表

在2中写了 $controller('controller1',{$scope:$scope});但直接报错了,不知啥原因,还有其它好方法没。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

初见终念 2022-09-13 01:02:55

可以把需要controller2中需要调用controller1中的方法写到service里面去,然后再controller2中调用service

大姐,你呐 2022-09-13 01:02:55

这种情况,还是建议放在service里吧,然后controller1和controller2都调用这个方法就可以了,如果你不想这样实现,也可以直接挂在$rootScope上,或者通过$broadcast和$emit形式,实现控制器之间的通信

桃酥萝莉 2022-09-13 01:02:55

controller2中广播(broadcast)一个事件,在controller1中收到这个广播时调用刷新方法

忘你却要生生世世 2022-09-13 01:02:55

主控制器里的方法在子控制器里是随便调用的 两个子控制器的话可以通过主控制器进行通讯 broadcast是向上通知 emit向下通知

等风来 2022-09-13 01:02:55

把方法挂在$rootScope上

平定天下 2022-09-13 01:02:55

如果两个地方需要时实现的功能相同的话,可以把通用的方法写在'服务'中,'服务'即'factory'或'service',然后在需要的地方注入该服务,因为服务可以全局拿到,例如一些网络请求的服务,经常需要各个页面都要用,最好写一个服务放进去,之后用会方便很多,控制器里面的function只是写一些该界面个性的东西

命硬 2022-09-13 01:02:55

如何在父级控制器上调用子级控制器的方法,比如我有个更新数据的方法子级写在子级里,在父级中怎么调用呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文