将指令逻辑放在控制器而不是链接中

时间:2014-12-25 08:14:34

标签: angularjs angularjs-directive directive

我有一个普遍的问题。我最近看到很多人将所有指令逻辑放在指令控制器中(并将其与controllerAs一起使用)而不是使用链接。我确实看到了一些好处:

  1. 指令逻辑可以轻松进行单元测试。
  2. 您有义务使用"点符号"在您的视图模型中,从而防止意外行为。
  3. 至于缺点 - 一旦逻辑在控制器内部,它就会暴露给其他指令,就像鼓励其他指令的开发人员访问这些变量/方法一样,即使它们不打算从外部访问。 我有兴趣接受这个吗?如何在指令中组织代码。

    由于

1 个答案:

答案 0 :(得分:0)

我使用Angular大约4个月所以我不能 说我有太多的经验。但在我的 个人经验我只将控制器用于逻辑 这需要在链接之前共享或执行 功能。我猜你可以通过使用模块模式隐藏控制器中的一些逻辑,只暴露真正必要的逻辑。在我的辩护中,我没有写过非常复杂的控制器,但这是我要去的方式。 (抱歉我写的不好,我正在通过手机回复)