AngularJS应用
利用昨天的实例说明一下整个AngularJS应用,代码如下:
<!DOCTYPE html> <html ng-app="exampleApp" > <head> <title>AngularJS Demo</title> <link href="bootstrap.css" rel="stylesheet" /> <link href="bootstrap-theme.css" rel="stylesheet" /> <script src="angular.js"></script> <script> var myApp = angular.module("exampleApp",[]); myApp.controller("dayCtrl",function ($scope) { $scope.day = new Date(); $scope.hellowolrd = "Hello Wolrd!" }); </script> </head> <body > <div class="panel" ng-controller="dayCtrl"> <div class="page-header"> <h3>AngularJS App</h3> </div> <h4>{{hellowolrd}}</h4> <h4>Today is {{day | date:"yyyy-MM-dd HH:mm:ss"}}</h4> </div> </body> </html>
加载过程
- angular.js :所有的AngularJs应用,都必须引入这个js。根据使用的其它功能,可能需要引入其它js,比如resource,route等
- angular.module:根据模块名定义模块。并通过[]指定该模块所依赖的其它模块
- ng-controller:在当前元素范围内绑定指定的控制器(controller)。
- {{xxx}}:花括号表示读取某一属性值
控制器
myApp.controller("dayCtrl",function ($scope) { // controller statements will go here });
通过这种方法定义控制器Controller。在里面有参数$scope,是通过angularjs的DI自动注入。控制器是视图和模型间的协调者,那么它所包含的逻辑就应该尽量少。一般,控制器是通过$scope参数,进行数据的操作。另外的一种定义控制器方式一般如下,它可以让我们明确定义依赖的组件和服务。
myApp.controller("dayCtrl",['$scope',function ($scope) { // controller statements will go here }]);
控制器在Views中的定义
声明了控制器后,可以在View中的任何地方进行定义。例如在body中定义
注意:在元素上定义controller,那么该controller的作用域只存在该元素中。 每个Controller中的$scope是互不相同的,并且互不干扰。
<body ng-controller="dayCtrl">也可以在其它元素,比如div中定义
<div class="panel" ng-controller="dayCtrl">或者是form元素
<form ng-controller="dayCtrl">……</form>
注意:在元素上定义controller,那么该controller的作用域只存在该元素中。 每个Controller中的$scope是互不相同的,并且互不干扰。