【AngularJS】—— 1 初识AngularJs

简介:

  怀着激动与忐忑的心情,开始了学习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的后续内容

本文转自博客园xingoo的博客,原文链接:【AngularJS】—— 1 初识AngularJs,如需转载请自行联系原博主。
相关文章
|
传感器 监控 测试技术
LabVIEW程序闪退问题
LabVIEW程序闪退问题
511 2
|
机器学习/深度学习 自然语言处理 语音技术
探索深度学习中的Transformer模型及其在自然语言处理中的应用
探索深度学习中的Transformer模型及其在自然语言处理中的应用
714 5
|
JavaScript 前端开发 网络协议
JS RPC详解
JS RPC详解
474 2
|
运维 知识图谱 Python
专为运维工程师设计!阿里藏经阁出品的Python实战手册被我搞来了
Python 可能是极少数既简单又强大的编程语言中的一种。更重要的是,用它来编程是非常快乐的事。 今天给小伙伴们分享的是阿里“藏经阁”出品的专门给运维工程师设计的Python实战手册
|
存储 JavaScript API
在Vue中,如何实现状态的共享?
在Vue中,如何实现状态的共享?
469 41
|
存储 前端开发 测试技术
Web实战丨基于django+html+css的在线购物商城
Web实战丨基于django+html+css的在线购物商城
587 2
|
数据可视化 算法
MATLAB Simulink 单相桥式整流电路性能研究
MATLAB Simulink 单相桥式整流电路性能研究
325 2
Linux 命令 `chown`:改变文件或目录的所有者
`chown` 是 Linux 中用于改变文件或目录所有者的命令。基本语法是 `chown [选项] 新所有者 文件或目录...`。常用选项包括 `-R` 递归更改、`-c` 显示详细信息和 `-v` 显示详细处理。示例:将 `example.txt` 所有者改为 `user2` 使用 `chown user2 example.txt`;更改目录 `mydir` 及其内容所有者为 `user2` 使用 `chown -R user2 mydir`。注意,通常只有 root 或当前所有者能更改所有者,且需谨慎操作以避免影响权限。
|
Shell 应用服务中间件 nginx
Docker命令集大全(Docker命令,一篇搞定)
【1月更文挑战第12天】 一、Docker容器命令: 二、Docker镜像命令 三、重启Docker命令 四、Docker数据卷命令 五、挂载数据卷
979 3
SpringCloud com.sun.jersey.api.client.ClientHandlerException
SpringCloud com.sun.jersey.api.client.ClientHandlerException
161 0