在AngularJS中处理应用程序状态和事件广播的最佳实践是什么?

时间:2013-08-25 04:09:05

标签: javascript angularjs

我仍在努力完成我的第一个Angular应用程序,当一个问题得到解答时,会弹出更多问题。

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

哪些实体应该播放活动? 它应该在控制器中还是在进行保存的资源中?或者在其他地方?

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

1 个答案:

答案 0 :(得分:1)

这是我对它的看法

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

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