溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AngularJS1.X中數據綁定的示例分析

發布時間:2021-08-23 14:33:26 來源:億速云 閱讀:154 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關AngularJS1.X中數據綁定的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、ng-bind

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

 <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實現了一個簡單單向綁定。

2、{{}}

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

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

 <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>

這種綁定的缺點是,開始加載時可能會出現類似{{data}}這樣的東西。

AngularJS1.X中數據綁定的示例分析

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

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

 <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-cloak,不知道為什么不行,有人知道的話請告知一下。

3、ng-bind-html

這個指令可以用html的方式處理數據,它不會將html代碼解析成實體。下面對比一下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 = "<h2 style='color:red;'>你好啊</h2>";
  })
 </script>
</body>
</html>

AngularJS1.X中數據綁定的示例分析

<!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 = "<h2 style='color:red;'>你好啊</h2>";
    })
  </script>
</body>
</html>

換成ng-bind-html時出錯了

AngularJS1.X中數據綁定的示例分析

這是因為Angular默認是不信任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("<h2 style='color:red;'>你好啊</h2>");
  })
 </script>
</body>
</html

這樣就可以了。

AngularJS1.X中數據綁定的示例分析

4、ng-bind-template

ng-bind只接受單個數據綁定表達式,而ng-bind-template則相對靈活些。

<!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}}愛{{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 = "中國";
  })
 </script>
</body>
</html>
<!-- 我愛中國-->

5、ng-non-bindable

有時我們使用了{{}}但是我們并不是要綁定數據,直接用會出錯,所以要像這樣

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

 <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、雙向數據綁定ng-model

雙向數據綁定允許元素從用戶處收集數據以改變程序狀態。

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>databinding5</title>
</head>
<body>
 <div ng-controller='dataCtrl'>
  <h2>{{data}}</h2>
  <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>

AngularJS1.X中數據綁定的示例分析

你會發現文本框的內容和h2中的內容同步變化。

7、小結一下

與數據綁定的相關指令如下

AngularJS1.X中數據綁定的示例分析  

關于“AngularJS1.X中數據綁定的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女