您的位置:首页 > Web前端 > JavaScript

AnglarJS初步学习

2015-10-22 12:46 549 查看
1.AnglarJS简介

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

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

2.AnglarJs是JS的一种框架

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

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

<script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>

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


3:实例

<!DOCTYPE html>
<html>
<body>

<div ng-app="">
<p>在输入框中尝试输入:</p>
<p>姓名:<input type="text" ng-model="name"></p>
<p ng-bind="name"></p>
</div>

<script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>

</body>
</html>


4.说明

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

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

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

5.AnglarJs指令

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

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

1.实例

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

6.AnglarJS表达式

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

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

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

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

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

  1.实例 

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

7.AnglarJS应

  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>


8.AnglarJS模块定义:var app = angular.module('myApp', []);

9.AngularJS 控制器控制应用:

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


10.AnglarJS对象类型

  <div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
  <p>姓为 {{ person.lastName }}</p>
  </div>

11.AnglarJS数组

  <div ng-app="" ng-init="points=[1,15,19,2,40]">
  <p>第三个值为 {{ points[2] }}</p>
  </div>

12.angularJS copy()

   soucer:数据源

   dastination:拷贝的对象


  

var obj = {
name: 'xxx',
age: 50
};

var copyObj = angular.copy(obj);

console.log(copyObj); //$ Object {name: "xxx", age: 50}


13.angular.equals(o1,o2)

  作用比较对象:o1,o2比较的对象

  返回值:[b]boolean[/b]

angular.equals(3, 3); //$ true
angular.equals(NaN,NaN); //$ true
angular.equals({name:'xxx'},{name:'xxx'}); //$ true
angular.equals({name:'xxx'},{name:'yyy'}); //$ false


14.angluar.extend(asd,bas)

  asd:拓展对象

  bas:源对象

  返回值:拓展对象

var dst = {name: 'xxx', country: 'China'};
var src = {name: 'yyy', age: 10};

angular.extend(dst, src);

console.log(src); //$ Object {name: "yyy", age: 10}
console.log(dst); //$ Object {name: "yyy", country: "China", age: 10}


15.angular.forEach(obj,iterator,context)

作用:对象的遍历

obj:对象,iterator:迭代函数,context:迭代函数中的上下文

返回值:obj

var obj = {name: 'xxx', country: 'China'};

angular.forEach(obj, function (value, key) {
console.log(key + ':' + value);
});

//$ name:xxx
//$ country:China

var array = ['xxx', 'yyy'];

angular.forEach(array, function (item, index) {
console.log(index + ':' + item + ' form ' + this.country);
}, obj);

//$ 0:xxx form China
//$ 1:yyy form China


16.angluar.formjson(string)

作用:字符串转JSON对象

string:字符串

返回值:json对象

var json = angular.fromJson('{"name":"xxx","age":34}');

console.log(json); //$ Object {name: "xxx", age: 34}


17.angluar.tojson(json,pratty)

作用:json对象转字符串

json:json

pratty:控制字符串输出的格式

返回值:字符串

angular.toJson({name:'xxx'});
//$ "{"name":"xxx"}"

angular.toJson({name:'xxx'},true);
//$ "{
//$    "name": "xxx"
//$ }"
angular.toJson({name:'xxx'},10);
//$ "{
//$            "name": "xxx"
//$ }"


18.angluar.isarray(values)

作用:判断一个数据是否是数组

返回值:bool

angular.isArray(3); //$ false
angular.isArray([]); //$ true
angular.isArray([1, 2, 3]); //$ true
angular.isArray({name: 'xxx'}); //$ false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: