2、AngularJs的模型、控制器、视图之间的关系

阅读() @2019-03-17 16:05:12

想要熟练的使用AngularJs构建应用,那就必须清楚的了解它的模型(Model)、控制器(Controller)、视图(View)以及ViewModel之间的关系。

1、Model:它是与应用程序的业务逻辑相关的数据的封装载体,它是业务领域的对象,Model并不关心会被如何显示或操作,所以模型也不会包含任何界面显示相关的逻辑。在web页面中,大部分Model都是来自Ajax的服务器返回数据或者是全局的配置对象,而angular中的service则是封装和处理这些与Model相关的业务逻辑的场所,这类的业务服务是可以被多个Controller或其他servece复用的领域服务。

2、Controller:这并不是MVVM模式的核心元素,但它负责ViewModel对象的初始化,它将组合一个或多个service来获取业务领域Model放在ViewModel对象上,使得应用界面在启动加载的时候达到可用的状态。

3、ViewModel:angular中的$scope对象充分充当了这个ViewModel的角色,他是View和Model的粘合体,符合View和Model的交互和协作,它负责给View提供显示的数据,以及提供了View中事件操作Model的途径。

4、View:它专注于界面的显示和渲染,在angular中则是包含一堆声明式Directive的视图模板。

下面用一张图来表示模型(Model)、控制器(Controller)、视图(View)以及ViewModel之间的关系:

模型(Model)、控制器(Controller)、视图(View)以及ViewModel之间的关系

微信二维码