最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AngularJS1.X學(xué)習(xí)筆記2-數(shù)據(jù)綁定詳解

 更新時(shí)間:2017年04月01日 08:23:00   作者:大~熊  
本篇文章主要介紹了AngularJS1.X學(xué)習(xí)筆記2-數(shù)據(jù)綁定詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。

上一篇從整體上認(rèn)識(shí)了Angular,從現(xiàn)在開始更加深入的學(xué)習(xí)Angular的特性。本次學(xué)習(xí)的是數(shù)據(jù)綁定。應(yīng)該所有的MVC框架都會(huì)用到數(shù)據(jù)綁定,比如我所知道的ThinkPHP、struts等,只有實(shí)現(xiàn)了數(shù)據(jù)綁定才能將模型層和視圖層分離,實(shí)現(xiàn)MVC。Angular的數(shù)據(jù)綁定比較特別,它支持雙向數(shù)據(jù)綁定。

1、ng-bind

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding1</title>
</head>
<body>
 <h1 ng-controller='dataCtrl' ng-bind='data'>
  
 </h1>

 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope){
   $scope.data = "你好?。?;
  })
 </script>
</body>
</html>

ng-bind實(shí)現(xiàn)了一個(gè)簡(jiǎn)單單向綁定。

2、{{}}

類似ng-bind,用的比較多。

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding1</title>
</head>
<body>
 <h1 ng-controller='dataCtrl'>
  {{data}}
 </h1>

 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope){
   $scope.data = "你好??!";
  })
 </script>
</body>
</html>

這種綁定的缺點(diǎn)是,開始加載時(shí)可能會(huì)出現(xiàn)類似{{data}}這樣的東西。

解決方法是使用ng-bind或ng-cloak,ng-cloak應(yīng)該只在有數(shù)據(jù)綁定的地方使用,否則處理中用戶將看到空白。

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding2</title>
</head>
<body ng-cloak>
 <h1 ng-controller='dataCtrl'>
  {{data}}
 </h1>

 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope){
   $scope.data = "你好啊!";
  })
 </script>
</body>
</html>

我測(cè)試了一下ng-cloak,不知道為什么不行,有人知道的話請(qǐng)告知一下。

3、ng-bind-html

這個(gè)指令可以用html的方式處理數(shù)據(jù),它不會(huì)將html代碼解析成實(shí)體。下面對(duì)比一下ng-bind和ng-bind-html.

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding3</title>
</head>
<body>
 <div ng-controller='dataCtrl' ng-bind='data'>
  
 </div>

 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope){
   $scope.data = "<h1 style='color:red;'>你好啊</h1>";
  })
 </script>
</body>
</html>

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
  <meta charset="UTF-8">
  <title>databinding3</title>
</head>
<body>
  <div ng-controller='dataCtrl' ng-bind-html='data'>
    
  </div>

  <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
  <script type="text/javascript">
    angular.module('myApp',[])
    .controller('dataCtrl',function($scope){
      $scope.data = "<h1 style='color:red;'>你好啊</h1>";
    })
  </script>
</body>
</html>

換成ng-bind-html時(shí)出錯(cuò)了

這是因?yàn)锳ngular默認(rèn)是不信任html的,所以要這樣做。


<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding3</title>
</head>
<body>
 <div ng-controller='dataCtrl' ng-bind-html='data'>
  
 </div>

 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope,$sce){
   $scope.data = $sce.trustAsHtml("<h1 style='color:red;'>你好啊</h1>");
  })
 </script>
</body>
</html

這樣就可以了。

4、ng-bind-template

ng-bind只接受單個(gè)數(shù)據(jù)綁定表達(dá)式,而ng-bind-template則相對(duì)靈活些。

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding3</title>
</head>
<body>
 <div ng-controller='dataCtrl' ng-bind-template='{{data1}}愛(ài){{data2}} '>
  
 </div>

 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope,$sce){
   $scope.data1 = "我";
   $scope.data2 = "中國(guó)";
  })
 </script>
</body>
</html>
<!-- 我愛(ài)中國(guó)-->

5、ng-non-bindable

有時(shí)我們使用了{(lán){}}但是我們并不是要綁定數(shù)據(jù),直接用會(huì)出錯(cuò),所以要像這樣

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding1</title>
</head>
<body>
 <h1 ng-controller='dataCtrl' ng-non-bindable>
  ng中綁定數(shù)據(jù)的方法是{{data}}
 </h1>

 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope){
   //$scope.data = "你好?。?;
  })
 </script>
</body>
</html>

6、雙向數(shù)據(jù)綁定ng-model

雙向數(shù)據(jù)綁定允許元素從用戶處收集數(shù)據(jù)以改變程序狀態(tài)。

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding5</title>
</head>
<body>
 <div ng-controller='dataCtrl'>
  <h1>{{data}}</h1>
  <input type="text" name="data" ng-model="data">
 </div>
  
 
 <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
 <script type="text/javascript">
  angular.module('myApp',[])
  .controller('dataCtrl',function($scope){
   $scope.data = "你好?。?;
  })
 </script>
</body>
</html>

你會(huì)發(fā)現(xiàn)文本框的內(nèi)容和h1中的內(nèi)容同步變化。

7、小結(jié)一下

與數(shù)據(jù)綁定的相關(guān)指令如下

  

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • es6+angular1.X+webpack 實(shí)現(xiàn)按路由功能打包項(xiàng)目的示例

    es6+angular1.X+webpack 實(shí)現(xiàn)按路由功能打包項(xiàng)目的示例

    本篇文章主要介紹了es6+angular1.X+webpack 實(shí)現(xiàn)按路由功能打包項(xiàng)目的示例,具有一定的參考價(jià)值,有需要的可以了解一下
    2017-08-08
  • Angular.js實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)60秒按鈕的簡(jiǎn)單方法

    Angular.js實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)60秒按鈕的簡(jiǎn)單方法

    最近做項(xiàng)目的時(shí)候又遇到了驗(yàn)證碼倒計(jì)時(shí)的需求,發(fā)現(xiàn)這個(gè)功能還是挺實(shí)用的,所以就想著總結(jié)一下,下面這篇文章主要給大家介紹了關(guān)于利用Angular.js如何實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)按鈕的簡(jiǎn)單方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-10-10
  • angular 未登錄狀態(tài)攔截路由跳轉(zhuǎn)的方法

    angular 未登錄狀態(tài)攔截路由跳轉(zhuǎn)的方法

    今天小編就為大家分享一篇angular 未登錄狀態(tài)攔截路由跳轉(zhuǎn)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • js常用正則表達(dá)式集錦

    js常用正則表達(dá)式集錦

    這篇文章主要介紹了js常用正則表達(dá)式集錦,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Angular 中 select指令用法詳解

    Angular 中 select指令用法詳解

    這篇文章主要介紹了Angular 中 select指令用法詳解的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • angular指令筆記ng-options的使用方法

    angular指令筆記ng-options的使用方法

    本篇文章主要介紹了angular指令筆記ng-options的使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • angular學(xué)習(xí)之動(dòng)態(tài)創(chuàng)建表單的方法

    angular學(xué)習(xí)之動(dòng)態(tài)創(chuàng)建表單的方法

    這篇文章主要介紹了angular學(xué)習(xí)之動(dòng)態(tài)創(chuàng)建表單的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • angular2模塊和共享模塊詳解

    angular2模塊和共享模塊詳解

    這篇文章主要介紹了angular2模塊和共享模塊詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • angular中的cookie讀寫方法

    angular中的cookie讀寫方法

    本篇文章主要介紹了angular中的cookie讀寫方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 淺談Angularjs中不同類型的雙向數(shù)據(jù)綁定

    淺談Angularjs中不同類型的雙向數(shù)據(jù)綁定

    這篇文章主要介紹了淺談Angularjs中不同類型的雙向數(shù)據(jù)綁定,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論

桐城市| 浦城县| 策勒县| 南江县| 南开区| 津市市| 天等县| 大足县| 伽师县| 夹江县| 横山县| 甘肃省| 武胜县| 安溪县| 安图县| 新晃| 图木舒克市| 寻乌县| 保靖县| 化州市| 灯塔市| 石林| 临武县| 湖南省| 右玉县| 容城县| 黄大仙区| 宁阳县| 正镶白旗| 长寿区| 洪洞县| 延川县| 连州市| 平原县| 广河县| 秭归县| 额尔古纳市| 盖州市| 永丰县| 黄陵县| 兴和县|