AngularJS 简介

AngularJS 简介


AngularJS 

  AngularJS 中文网 :http://www.angularjs.net.cn/

   

 

  AngularJS 通过新的属性和表达式扩展了 HTML。

  AngularJS 可以构建一个单一页面应用程序(SPAs:Single Page Applications)。

学习 AngularJS 需要了解的知识

  1.   HTML(今天刚刚听说HTML要出6了)
  2.   CSS
  3.   JavaScript

AngularJS 历史

  AngularJS 是比较新的技术,版本 1.0 是在 2012 年发布的。

  AngularJS 是由 Google 的员工 Miško Hevery 从 2009 年开始着手开发。

  这是一个非常好的构想,该项目目前已由 Google 正式支持,有一个全职的开发团队继续开发和维护这个库。

AngularJS 实例

  来源:菜鸟教程【http://www.runoob.com/angularjs/angularjs-examples.html】

  来源:AngularJS 中文网 【http://www.angularjs.net.cn/tutorial/】

AngularJS 参考手册

  来源:菜鸟教程【http://www.runoob.com/angularjs/angularjs-reference.html】

  来源:AngularJS 中文网 【http://www.angularjs.net.cn/api/】

AngularJS 简介

  AngularJS 是一个 JavaScript 框架。它可通过 <script> 标签添加到 HTML 页面。

  AngularJS 通过指令扩展了 HTML,且通过表达式绑定数据到 HTML。

AngularJS 是一个 JavaScript 框架

  AngularJS 是一个 JavaScript 框架。它是一个以 JavaScript 编写的库。

  AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中:

<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>

建议把脚本放在 <body> 元素的底部。这会提高网页加载速度,因为 HTML 加载不受制于脚本加载。

  各个 angular.js 版本下载: https://github.com/angular/angular.js/releases

AngularJS 扩展了 HTML

  AngularJS 通过 ng-directives 扩展了 HTML。

  ng-app 指令定义一个 AngularJS 应用程序。

  ng-model 指令把元素值(比如输入域的值)绑定到应用程序。

  ng-bind 指令把应用程序数据绑定到 HTML 视图。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
 
<div ng-app="">
     <p>名字 : <input type="text" ng-model="name"></p>
     <h1>Hello {{name}}</h1>
</div>
 
</body>
</html>

实例讲解:

  当网页加载完毕,AngularJS 自动开启。

  ng-app 指令告诉 AngularJS,<div> 元素是 AngularJS 应用程序 的"所有者"。

  ng-model 指令把输入域的值绑定到应用程序变量 name

  ng-bind 指令把应用程序变量 name 绑定到某个段落的 innerHTML。

  如果您除了 ng-app 指令,HTML 将直接把表达式显示出来,不会去计算表达式的结果。

什么是 AngularJS?

  AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易。

  1. AngularJS 把应用程序数据绑定到 HTML 元素。
  2. AngularJS 可以克隆和重复 HTML 元素。
  3. AngularJS 可以隐藏和显示 HTML 元素。
  4. AngularJS 可以在 HTML 元素"背后"添加代码。
  5. AngularJS 支持输入验证。

AngularJS 指令

  正如您所看到的,AngularJS 指令是以 ng 作为前缀的 HTML 属性。

  ng-init 指令初始化 AngularJS 应用程序变量。

<div ng-app="" ng-init="firstName='John'">
 
  <p>姓名为 <span ng-bind="firstName"></span></p>
 
</div>

   

HTML5 允许扩展的(自制的)属性,以 data- 开头。

AngularJS 属性以 ng- 开头,但是您可以使用 data-ng- 来让网页对 HTML5 有效。

<div data-ng-app="" data-ng-init="firstName='John'">
 
    <p>姓名为 <span data-ng-bind="firstName"></span></p>
 
</div>

   

AngularJS 表达式

  AngularJS 表达式写在双大括号内:{{ expression }}

  AngularJS 表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙。

  AngularJS 将在表达式书写的位置"输出"数据。

  AngularJS 表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量。

  实例 {{ 5 + 5 }} 或 {{ firstName + " " + lastName }}

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script> 
</head>
<body>
 
<div ng-app="">
     <p>我的第一个表达式: {{ 5 + 5 }}</p>
</div>
 
</body>
</html>

 

AngularJS 应用

  AngularJS 模块(Module) 定义了 AngularJS 应用。

  AngularJS 控制器(Controller) 用于控制 AngularJS 应用。

  ng-app指令指明了应用, ng-controller 指明了控制器。

<div ng-app="myApp" ng-controller="myCtrl">
 
名: <input type="text" ng-model="firstName"><br>
姓: <input type="text" ng-model="lastName"><br>
<br>
姓名: {{firstName + " " + lastName}}
 
</div>
 
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
});
</script>

   

AngularJS 模块定义应用:

var app = angular.module('myApp', []);

AngularJS 控制器控制应用:

app.controller('myCtrl', function($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
});

 

posted @ 2019-01-01 20:44  我是ed  阅读(190)  评论(0编辑  收藏  举报