【AngularJS】—— 1 初识AngularJs

时间:2022-04-22
本文章向大家介绍【AngularJS】—— 1 初识AngularJs,主要内容包括1 表达式、2 指令、3 控制器、4 过滤器、5 http、6 表格、7 html dom、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

怀着激动与忐忑的心情,开始了学习AngularJS的旅程,很久之前就听说了这个前端框架,但是由于自己一直没有从事相关的工作,因此也没有进行学习。这次正好学习AngularJS,直接复习一下前端的知识。目前这里还是弱点,慢慢深入的学习。

  AngularJS是Google的优秀的前端框架,目前已经应用于多个产品。

  通过w3cschool.cc的学习,简单的了解了下它的使用方法,但是对于原理还没有理解。

  AngularJs相对于其他的框架来说,有一下的特性:

  1 MVVM

  2 模块化

  3 自动化双向数据绑定

  4 语义化标签

  5 依赖注入

  由于很多概念都不了解,这些特性也无法理解。以后会通过学习,慢慢深入研究。

  通过简单的学习,大致了解了AngularJS的语法以及使用,包括如下的内容:

1 表达式

  支持普通的JS表达式,表达式通过{{}}使用。

<div ng-app="">
  <p>我的第一个表达式: {{ 5 + 5 }}</p>
</div>

2 指令

  通过特定的标签指定,完成数据的绑定以及定义,抓取

<div ng-app="" ng-init="firstName='John'">
  <p>在输入框中尝试输入:</p>
  <p>姓名:<input type="text" ng-model="firstName"></p>
  <p>你输入的为: {{ firstName }}</p>
</div>

  ng-app 定义AngularJS的应用程序

  ng-init 初始化应用程序变量

  ng-model 获取程序变量

  ng-bind 绑定数据变量

3 控制器

  通过控制器,控制应用程序。通过构造函数,完成方法以及变量的创建。

  其中personController相当于构造方法函数,参数$scope代替指定的元素标签。

<div ng-app="" ng-controller="personController">

名: <input type="text" ng-model="person.firstName"><br>
姓: <input type="text" ng-model="person.lastName"><br>
<br>
姓名: {{person.firstName + " " + person.lastName}}

</div>

<script>
function personController($scope) {
    $scope.person = {
        firstName: "John",
        lastName: "Doe"
    };
}
</script>

4 过滤器

  通过过滤器,完成特定的排序或者过滤,大小写转换等等。

  currency   数字转化成货币格式

<div ng-app="" ng-controller="costController">
数量:<input type="number" ng-model="quantity">
价格:<input type="number" ng-model="price">
<p>总价 = {{ (quantity * price) | currency }}</p>
</div>

  filter  从数据项中选定一个子集

<div ng-app="" ng-controller="namesController">
<p>输入过滤:</p>
<p><input type="text" ng-model="name"></p>

<ul>
  <li ng-repeat="x in names | filter:name | orderBy:'country'">
    {{ (x.name | uppercase) + ', ' + x.country }}
  </li>
</ul>

</div>

  orderBy  排序

<div ng-app="" ng-controller="namesController">
<p>循环对象:</p>
<ul>
  <li ng-repeat="x in names | orderBy:'country'">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>
<div>

  lowercase uppercase  大小写转换

<div ng-app="" ng-controller="personController">
<p>姓名为 {{ person.lastName | uppercase }}</p>
</div>

5 http

  通过http获取指定的文件内容

<div ng-app="" ng-controller="customersController"> 
<ul>
  <li ng-repeat="x in names">
    {{ x.Name + ', ' + x.Country }}
  </li>
</ul>
</div>

<script>
function customersController($scope,$http) {   $http.get("http://www.w3cschool.cc/try/angularjs/data/Customers_JSON.php")
    .success(function(response) {$scope.names = response;});
}
</script>

6 表格

  通过ng-repeat实现表格展现

<div ng-app="" ng-controller="customersController"> 

<table>
  <tr ng-repeat="x in names">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
  </tr>
</table>

</div>

7 html dom

  通过DOM元素的属性,控制节点。例如:ng-disabled  ng-show

<div ng-app="">

<p>
<button ng-disabled="mySwitch">点我!</button>
</p>

<p>
<input type="checkbox" ng-model="mySwitch">按钮
</p>

</div>

  以上就是简单的学习内容,明天计划学习下w3cshcool.cc的后续内容