AngularJS學習筆記(三)資料雙向繫結的簡單一實例_AngularJS

來源:互聯網
上載者:User

雙向繫結

雙向繫結是AngularJS最實用的功能,它節省了大量的代碼,使我們專註於資料和視圖,不用浪費大量的代碼在Dom監聽、資料同步上,關於雙向更新,可看下圖:

資料-->視圖

這裡我們只示範有了資料以後,如何綁定到視圖上。

<!DOCTYPE html><html ng-app="App"><head>  <script type="text/javascript" src="http://sandbox.runjs.cn/uploads/rs/394/xjz9g1bv/angular.js"></script>  <script type="text/javascript">  var App = angular.module("App", []);  App.controller("ctrl", function ($scope) {             $scope.username='張三'              $scope.changename=function(){          $scope.username='李四';          }    });      </script></head>  <body>    <div ng-controller ="ctrl">      <button class='btn btn-primary' ng-click='changename();'>        username='李四'      </button>      <!--頁面載入初期,使用者可能會看到綁定的運算式-->      <div>{{username}}</div>      <!--此綁定不會出現上述情況-->      <div ng-bind='username'></div>    </div>  </body></html>

點擊按鈕之後,div內容變成 李四,效果如圖:

視圖—>資料

上個例子,我們看了資料變化後,視圖也會自動變化。那麼這個例子則是反過來,視圖變化,導致資料也跟著變化,那麼資料變化後,我們如何知道呢,這兒我們可以通過另外一個元素將資料再顯示出來。

<!DOCTYPE html><html ng-app="App"><head>  <script type="text/javascript" src="http://sandbox.runjs.cn/uploads/rs/394/xjz9g1bv/angular.js"></script>  <script type="text/javascript">  var App = angular.module("App", []);  App.controller("ctrl", function ($scope) {             $scope.username='張三'    });      </script></head>  <body>    <div ng-controller ="ctrl">      <input type='text' ng-model='username' />            <div>{{username}}</div>    </div>  </body></html>

查看效果:

實現機制

angular對常用的dom事件,xhr事件等做了封裝, 在裡面觸發進入angular的digest流程。

在digest流程裡面, 會從rootscope開始遍曆, 檢查所有的watcher。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.