Angular.js健全性检查:服务与工厂与控制器...... +指令+行为

时间:2014-06-18 16:48:19

标签: angularjs architecture requirejs angularjs-service angularjs-controller

This article 关于什么时候使用指令,服务和控制器,因为它是真棒和有用的...让我对我认为关于角度应用的理想结构的所有事情感到非常困惑,我只是需要理智检查:

如果您有两个输入:

<label><span>false</span>
   <input type='radio' value='false' ng-value='false' ng-model='thing.exists' />
</label>
<label><span>true</span>
    <input type='radio' value='true' ng-value='true' ng-model='thing.exists' />
</label>

是一个更大的表单的一部分,它将提交另一个表单...并且该信息稍后将被显示以供审阅,这是建筑师的正确方法:

TLDR:执行流程:

ng-model="thing.exist" ==> thing ==> ThingController  ==> a service  ==> ...details... ==> getDetails?

现在我有:

<div ng-controller='ThingController as thing'>
  <fieldset>
    <label><span>Doesn't exist</span>
     <input type='radio' value='false' name='checkExist'
            ng-value='false' ng-model='thing.exists' />
    </label>
    <label><span>Does exist</span>

      <input type='radio' value='true' name='checkExist'
           ng-value='true'   ng-model='thing.exists' />
    </label>

  </fieldset>
 <!-- ... -->
</div>

当输入改变时,
我应该在输入上使用ng-change来触发行为(比如添加指令)......对(通过控制器)?

我应该使用then控制器将ng-change的结果添加到服务中?就像...将模型值(thing.exists)传递给服务,以便我以后可以使用该值? 作为一个并发因素 - 该应用程序使用Require.js到manage dependencies.

(实际上,文章本身并不是我混淆的根源 - 这篇文章的评论正在杀死我。)

1 个答案:

答案 0 :(得分:1)

这就是它,你已经做对了。这个想法如下:

  • 使用指令管理用户界面交互和 - 状态更改
  • 使用控制器管理浅层逻辑
  • 使用服务共享数据,功能和业务逻辑。

Aka,就像你的服务器一样 - 尽量不要在控制器中加载太多。