控制器(controller)
angular controller
在angular中,controller是⼀一个javascript 函数(type/class),被⽤用作扩展除了root scope在外的angularscope的实例。
也可以通过module.controller(name, constructor)
@see $controllerProvider.register().
controller可以用作:
设置scope对象的初始状态。
增加行为到scope中。
正确的使用controller
controller不应该尝试做太多的事情。它应该仅仅包含单个视图所需要的业务逻辑
保持Controller的简单性,常见办法是抽出那些不属于controller的⼯工作到service中,在controller通过依赖注入来使用这些service
不要在Controller中做以下的事情:
任何类型的DOM操作 - controller应该仅仅包含业务逻辑,任何表现逻辑放到controller中,大大地影响了应用逻辑的可测试性。angular为了自动操作(更新)DOM,提供的数据绑定。如果希望执行我们自定义的DOM操作,可以把表现逻辑抽取到directive中。
Input formatting(输入格式化) - 使用angular form controls 代替。
Output filtering (输出格式化过滤) - 使⽤用angular filters 代替。
执⾏行⽆无状态或有状态的、controller共享的代码 - 使用angular services 代替。
Last updated