基本介绍
1、AngularJS是一个框架(诸多类库的集合)以数据和逻辑做为驱动(核心)。
2、AngularJS有着诸多特性,最为核心的是:模块化、双向数据绑定、语义化标签、依赖注入等。
模块化
使用AngularJS构建应用(App)时是以模块化(Module)的方式组织的,即将整个应用划分成若干模块,每个模块都有各自的职责,最终组合成一个整体。采用模块化的组织方式,可以最大程度的实现代码的复用,可以像搭积木一样进行开发。
1、定义应用:通过为任一HTML标签添加ng-app属性,可以指定一个应用(模块),表示此标签所包裹的内容都属于应用(App模块)的一部分,一般会在body或者div标签上进行设置
<html lang="en" ng-app="App">
2、定义模块:AngularJS提供了一个全局对象angular,在此全局对象下存在若干的方法,其中angular.module()方法用来定义一个模块
(1)参数一是模块名称
(2)参数二是此模块所依赖的其他模块
(3)App本质也是一个模块,一个很大的模块
(4)模块一般只定义一个,定义多个时不能嵌套,控制器可以嵌套
var App = angular.module('App', []);
2、定义控制器:作为连接模型(Model)和视图(View)的桥梁存在,模型(Model)数据是要展示到视图(View)上的,所以需要将控制器(Controller)关联到视图(View)上,通过为HTML标签添加ng-controller属性并赋值相应的控制器(Controller)的名称,就确立了关联关系。
(1)上面定义模块所返回的也是一个对象,这个对象的controller方法,可以将为我们进行视图与模型的绑定
(2)参数$scope是一个空的对象,它其实就是model,可以为这个对象添加属性,页面中的展示的数据就是所绑定的属性
App.controller('DemoController', ['$scope', function ($scope) { $scope.name = 'wqx'; $scope.age = 18; }]);