我有点迷失......我对Angular很陌生,并为练习编写了一个小应用程序。
我用表格查看了两个视图,每个视图都有自己的控制器。这些表使用了一些相同的功能,如编辑,保存...为避免重复代码,我将这些功能放在一个单独的控制器中。如果在一个视图中,例如编辑和保存表格行中的数据我想触发一个事件,以通知特定控制器该视图,并使用该事件发送新对象。我已经开始运行但不确定这是否是正确的方法......
现在我的TableEditController是每个特定于表视图的Controller的父级,我可以使用$emit
发送事件。通过做一些研究,我已经读过,你应该使用服务进行通信,但在示例中使用$ rootScope,我认为这不是正确的方法,因为我只想通知特定控制器有关更改,以便它可以进行进一步处理(如保存到数据库或其他)。
有什么想法或想法吗?
答案 0 :(得分:0)
如果您想要控制器进行通信,则显示如下创建父控制器
<div ng-controller="parent_controller">
<div ng-controller="child_controller_1"></div>
<div ng-controller="child_controller_2"></div>
</div>
child_controller_1和child_controller_2将通过parent_controller进行通信。
答案 1 :(得分:0)
将您的业务逻辑放在service
并与service
分享controllers
避免代码重复。
如果你有相同的controller
方法(以及很多方法),那么用相同的逻辑创建一个parent controller
(或通过prototype
继承)。