欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Angular的雙向數(shù)據(jù)綁定(MV-VM)

 更新時間:2016年12月26日 15:04:36   作者:小謝53  
本文主要對Angular的雙向數(shù)據(jù)綁定(MV-VM)進(jìn)行實例分析,具有一定的參考價值,下面跟著小編一起來看下吧

angular的核心MVVM,下面來看看MV(數(shù)據(jù)到視圖)。

<div ng-controller="Aaa">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
     $scope.name = 'hello AngularJs';
    setTimeout(function(){
      $scope.name = 'Hi';
     },2000); 
  };
</script>

執(zhí)行上面代碼,我們使用setTimeout延遲兩秒去更新數(shù)據(jù)(M),我們的視圖(V)并沒有發(fā)生改變。

其實數(shù)據(jù)確實發(fā)生改變,但是我們的視圖(V)并沒有及時刷新,原因是原生的setTimeout不具備刷新的功能。

angular為我們提供了setTimeout的服務(wù),$timeout,需要在Aaa中引入該服務(wù) !

<div ng-controller="Aaa">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope,$timeout){
    $scope.name = 'hello AngularJs';
    $timeout(function(){
       $scope.name = 'Hi';
    },2000);
  };
<script>

這樣就可以刷新視圖了,M(數(shù)據(jù))到V(視圖)的過程。

如果我也想讓setTimeout也具有刷新視圖的功能怎麼辦 ? 可以借助$apply方法!

<div ng-controller="Aaa">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
    setTimeout(function(){
      $scope.$apply(function(){
        $scope.name = 'Hi';
      });
    },2000);
  }
<script>

也能實現(xiàn)刷新視圖!

在舉個例子:

<div id="Aaa" ng-controller="Aaa" ng-click="name='Hi'">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
  };
</script>

我們在ID為Aaa的元素綁定了一個點擊事件,當(dāng)發(fā)生點擊的時候?qū)ame值改為Hi,

當(dāng)然,也可以傳遞一個函數(shù),來實現(xiàn)更多的功能。

<div id="Aaa" ng-controller="Aaa" ng-click="show()">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
    $scope.show = function(){
      $scope.name = 'Hi';
    };
  }
</script>

看到了click,相信你也知道如何使用鼠標(biāo)移入和移出的這些常用的事件了。

看最后一個例子,V(視圖)到M(數(shù)據(jù))的過程。

<div ng-controller="Aaa">
  <input type="text" ng-model="name"/>
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
  };
</script>

我們在input標(biāo)簽上綁定了一個ng-model,這個就是綁定的數(shù)據(jù),會默認(rèn)填充到input的value上,當(dāng)我們的input值發(fā)生改變的時候,對應(yīng)在$scope中的數(shù)據(jù)也會發(fā)生改變,從而影響到視圖中的p標(biāo)簽的值也會發(fā)生改變。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • AngularJs定制樣式插入到ueditor中的問題小結(jié)

    AngularJs定制樣式插入到ueditor中的問題小結(jié)

    這篇文章主要介紹了AngularJs定制樣式插入到ueditor中的問題小結(jié)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • AngularJS過濾器filter用法分析

    AngularJS過濾器filter用法分析

    這篇文章主要介紹了AngularJS過濾器filter用法,結(jié)合實例形式分析了過濾器filter的功能、分類、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-12-12
  • angular8和ngrx8結(jié)合使用的步驟介紹

    angular8和ngrx8結(jié)合使用的步驟介紹

    這篇文章主要給大家介紹了關(guān)于angular8和ngrx8結(jié)合使用的詳細(xì)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用angular8具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 解決Angular2 router.navigate刷新頁面的問題

    解決Angular2 router.navigate刷新頁面的問題

    今天小編就為大家分享一篇解決Angular2 router.navigate刷新頁面的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • angularJS提交表單(form)

    angularJS提交表單(form)

    這篇文章主要介紹了angularJS提交表單(form)的方法和示例,需要的朋友可以參考下
    2015-02-02
  • 使用AngularJS 跨站請求如何解決jsonp請求問題

    使用AngularJS 跨站請求如何解決jsonp請求問題

    這篇文章主要介紹了使用AngularJS 跨站請求如何解決jsonp請求問題,下面通過本文給大家分享解決辦法,需要的朋友參考下
    2017-01-01
  • AngularJS包括詳解及示例代碼

    AngularJS包括詳解及示例代碼

    本文主要介紹AngularJS包括的基礎(chǔ)知識,這里整理了相關(guān)資料并附示例代碼和實現(xiàn)效果圖,有需要的小伙伴可以參考下
    2016-08-08
  • 詳解Angular6學(xué)習(xí)筆記之主從組件

    詳解Angular6學(xué)習(xí)筆記之主從組件

    這篇文章主要介紹了詳解Angular6學(xué)習(xí)筆記之主從組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 詳解Angular6 熱加載配置方案

    詳解Angular6 熱加載配置方案

    這篇文章主要介紹了詳解Angular6 熱加載配置方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解angular路由高亮之RouterLinkActive

    詳解angular路由高亮之RouterLinkActive

    這篇文章主要介紹了詳解angular路由高亮之RouterLinkActive,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論