1

我仍在为我的第一个 Angular 应用程序而苦苦挣扎,当一个问题得到回答时,就会出现更多问题。

我有一个应用程序,当处于“保存模式”时,它有一个表单。当表单成功完成并保存后,我想去显示不同的内容,我们称之为“浏览模式”。我目前的查询是关于如何处理这种类型的转换。

什么实体应该广播事件? 它应该在控制器中还是在进行保存的资源中?或者别的地方?

什么实体应该监听和处理事件? 为了松耦合,表单控制器应该只广播“保存完成”而不是“浏览模式”,因为它不/不应该知道浏览控制器。那么,哪个实体应该接收“保存完成”并知道广播“启用浏览模式”?

4

1 回答 1

1

这是我的看法

  1. 控制器应该广播事件,因为它具有上下文,并且视图更改基于此上下文。资源可以广播事件,但首先它必须在 $rootScope 上进行,然后它是更通用的广播,因此如果资源节省发生在多个地方,区分它再次成为控制器的工作。

  2. 应该有一个父控制器来协调这个过程,所以既不是“保存模式”控制器,也不是“浏览模式”控制器以及有关视图转换的任何信息。

于 2013-08-25T06:41:59.237 回答