前言:html
編程是一個很苦惱的工做,由於須要咱們不斷的去學習,不斷的去專研,我自己就不是一個很喜歡學習的孩子,要否則從小到大也沒有成績好過,可是,我歷來沒有缺乏過勤奮,仍是讓咱們言歸正傳來講下 咱們這段時間學的東西吧,看着別人可以運轉自如,本身連基礎的都不知道是否是特傻。angularjs
<!doctype html>
<html ng-app="HelloAngular">
<head>
<meta charset="utf-8">
</head>
<body>
<div ng-controller="HelloAngularCtl">
<p>{{greeting.text}},world</p>
</div>
</body>
<script src="js/angular-1.3.0.js"></script>
<script src="HelloAngular_MVC.js"></script>
</html>
先看看這段代碼,若是歷來沒有接觸過angular的同窗們,會以爲代碼還能夠這麼寫?編程
讓咱們看看在這段代碼中咱們遇到的新的寫法有哪些?c#
1,ng-app="HelloAngular",這個是程序的入口(c#中的main()方法),代表<html></html>範圍內全部標籤歸angular.js來管理,注意一個程序中只有一個 ng-app。app
2,ng-controller="HelloAngularCtl",這個是本章講的重點,也就是MVC中的C(controller),顧名思義就是控制器的意思,那麼到底控制什麼?根據個人理解,是控制下面的元素依據什麼來顯示,這裏的什麼等下後面會講到。模塊化
3,{{greeting.text}},雙括號是賦值屬性。學習
好了,看完html代碼,咱們再看看js的吧,咱們先引入 angularJS的庫文件,不然上面的都不會生效。再引入咱們本身的邏輯代碼HelloAngular_MVC.jsspa
// 定義一個模塊
var HelloAngularModule = angular.module("HelloAngular",[]); // 模塊中定一個控制器
HelloAngularModule.controller("HelloAngularCtl",function($scope){ $scope.greeting={ text:'Hello' } })
就像上面代碼註釋的同樣,咱們先用angular的語法,定義一個模塊(注意:咱們如今全部的代碼都要模塊化,否則MVC的就變得毫無用處,否則咱們是用MVC也好仍是MVVM也好,最終的目的是代碼複用和模塊化),而後呢,根據這個模塊咱們來定義一個 controller。code
在此有些心細的同窗看出來了,咱們模塊定的名稱(HelloAngular)和Controller定義的名稱(HelloAngularCtl)恰好是咱們前面講過的html代碼中寫的ng-app和ng-controller的名稱同樣的。沒錯,咱們就是經過這個來指定angular的運行環境的。若是你寫錯了一個字母,可能整個程序就不能執行了。htm
咱們再來說一個比較重要的屬性,那就是 控制器中 $scope,咱們稱之爲做用域。這個$scope是很神奇的東西,能夠說是整個angularjs的運行都是在這個上面的,是angularjs實現數據模型的方式,咱們能夠看到前面(html代碼)中{{}}引用數據,就是$scope對象的屬性。
好了,最後給展現下運行的效果:
咱們如何在 控制器1調用控制2的屬性或則方法?