AngularJS入門基礎——控制器

來源:互聯網
上載者:User

標籤:

AngularJS中的控制器是一個函數,用來向視圖的範圍添加額外的功能。我們用它來給範圍對象設定初始狀態,並添加自訂行為。AngularJS同其他JavaScript架構最主要的一個區別就是,控制器並不適合用來執行DOM操作,格式化或資料操作,以及除儲存資料模型之外的狀態維護操作。它只是視圖和$scope之間的橋樑。 AngularJS應用的任何的一個部分,無論它渲染在哪個上下文,都有父級範圍存在。對ng-app所處的層級來講,它的父級範圍就是$rootScope。有一個例外,在指令內部建立的範圍被稱為孤立範圍。 關於尋找屬性:預設情況下,AngularJS在當前的範圍中無法找到屬性的時候,便會在父級範圍中進行尋找。如果AngularJS找不到對應的屬性,會順著父級範圍一直向上尋找。知道抵達$rootScope為止。如果$rootScope中也找不到,程式會繼續運行,但試圖無法更新。 <div ng-controller="ParentController">  <div ng-controller="ChildController">    <button ng-click="sayHello()">sayHello</button>  </div>  {{ person }}</div><script type="text/javascript">   var app = angular.module("myApp", []);       app.controller("ParentController", function($scope) {        $scope.person = {          name: "lin"        };      });       app.controller("ChildController", function($scope) {        $scope.sayHello = function() {          $scope.person.age = 16;        };      });</script>  *良好的應用會將複雜的邏輯放到指令和服務中。通過使用指令和服務,我們可以將控制器重構成一個輕量且容易維護的形式。

AngularJS入門基礎——控制器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.