一篇博客搞定Angularjs
来源:互联网 发布:安卓版打谱软件 编辑:程序博客网 时间:2024/05/17 23:48
简介
AngularJS 通过 ng-directives 扩展了 HTML。
ng-app 指令定义一个 AngularJS 应用程序。
ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
ng-bind 指令把应用程序数据绑定到 HTML 视图。
<!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="//www.w3cschool.cc/try/angularjs/1.2.5/angular.min.js"></script></body></html>
ng-app 指令告诉 AngularJS,
ng-model 指令把输入域的值绑定到应用程序变量 name。
ng-bind 指令把应用程序变量 name 绑定到某个段落的 innerHTML。
<div ng-app="" ng-init="firstName='John'"><p>姓名为 <span ng-bind="firstName"></span></p></div>
ng-init 指令初始化 AngularJS 应用程序变量。
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 表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙。
AngularJS 将在表达式书写的位置”输出”数据。
AngularJS 表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量。
实例 {{ 5 + 5 }} 或 {{ firstName + ” ” + lastName }}
<!DOCTYPE html><html><body><div ng-app=""> <p>我的第一个表达式: {{ 5 + 5 }}</p></div><script src="//www.w3cschool.cc/try/angularjs/1.2.5/angular.min.js"></script></body></html>
表达式
数字
<div ng-app="" ng-init="quantity=1;cost=5"><p>总价: {{ quantity * cost }}</p></div>
字符串
<div ng-app="" ng-init="firstName='John';lastName='Doe'"><p>姓名: {{ firstName + " " + lastName }}</p></div>
对象
<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}"><p>姓为 {{ person.lastName }}</p></div>
数组
<div ng-app="" ng-init="points=[1,15,19,2,40]"><p>第三个值为 {{ points[2] }}</p></div>
AngularJS 指令
AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-。
ng-app 指令初始化一个 AngularJS 应用程序。
ng-init 指令初始化应用程序数据。
ng-model 指令把应用程序数据绑定到 HTML 元素。
数据绑定
上面实例中的 {{ firstName }} 表达式是一个 AngularJS 数据绑定表达式。
AngularJS 中的数据绑定,同步了 AngularJS 表达式与 AngularJS 数据。
{{ firstName }} 是通过 ng-model=”firstName” 进行同步。
在下一个实例中,两个文本域是通过两个 ng-model 指令同步的:
<div ng-app="" ng-init="quantity=1;price=5"><h2>价格计算器</h2>数量: <input type="number" ng-model="quantity">价格: <input type="number" ng-model="price"><p><b>总价:</b> {{ quantity * price }}</p></div>
重复 HTML 元素
ng-repeat 指令会重复一个 HTML 元素:
<div ng-app="" ng-init="names=['Jani','Hege','Kai']"> <p>使用 ng-repeat 来循环数组</p> <ul> <li ng-repeat="x in names"> {{ x }} </li> </ul><div>
或者:
<div ng-app="" ng-init="names=[{name:'Jani',country:'Norway'},{name:'Hege',country:'Sweden'},{name:'Kai',country:'Denmark'}]"><p>循环对象:</p><ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li></ul></div>
AngularJS 控制器
AngularJS 应用程序被控制器控制。
ng-controller 指令定义了应用程序控制器。
控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。
控制器的 $scope 是控制器所指向的应用程序 HTML 元素。
<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>
AngularJS 应用程序由 ng-app 定义。应用程序在
ng-controller 指令把控制器命名为 object。
函数 personController 是一个标准的 JavaScript 对象的构造函数。
控制器对象有一个属性:$scope.person。
person 对象有两个属性:firstName 和 lastName。
ng-model 指令绑定输入域到控制器的属性(firstName 和 lastName)。
控制器属性
上面的实例演示了一个带有 lastName 和 firstName 这两个属性的控制器对象。
控制器也可以把函数作为对象属性:
<div ng-app="" ng-controller="personController">名: <input type="text" ng-model="person.firstName"><br>姓: <input type="text" ng-model="person.lastName"><br><br>姓名: {{person.fullName()}}</div><script>function personController($scope) { $scope.person = { firstName: "John", lastName: "Doe", fullName: function() { var x; x = $scope.person; return x.firstName + " " + x.lastName; } };}</script>
控制器方法
<div ng-app="" ng-controller="personController">名: <input type="text" ng-model="person.firstName"><br>姓: <input type="text" ng-model="person.lastName"><br><br>姓名: {{fullName()}}</div><script>function personController($scope) { $scope.person = { firstName: "John", lastName: "Doe", }; $scope.fullName = function() { var x; x = $scope.person; return x.firstName + " " + x.lastName; };}</script>
to be continued
- 一篇博客搞定Angularjs
- 一小时搞定AngularJS
- 一篇文章搞定SqlDataAdapter
- 一篇文章搞定SqlDataAdapter
- 一篇文章搞定SqlDataAdapter
- 一篇文章搞定SqlDataAdapter
- 一篇文章搞定JSON
- Activity知识点,一篇搞定!
- Fragment知识点,一篇搞定!
- AngularJS 第一篇
- 终于把博客搞定
- [转]一篇文章搞定SqlDataAdapter
- 一篇小文章搞定jni
- Git 一篇搞定基本操作
- 一篇文章搞定 Android动画
- 一篇搞定状态栏颜色变化
- 一篇搞定Python正则表达式
- 一篇文章搞定java线程
- 数据库索引的作用和优点缺点
- GitHub入门
- Python写文件后要注意关闭文件
- 寻找各种资源
- 第一节 MongoDB介绍及下载与安装
- 一篇博客搞定Angularjs
- FOJ_2140_Forever 0.5_手动构造
- php实现简单用户登录功能程序代码
- 黑马程序员_终于找全了,Eclipse使用技巧!!!
- 一致性hash和solr千万级数据分布式搜索引擎中的应用
- JSON数据解析方法
- 【Leetcode】Gas Station
- 黑马程序员_if语句学习知识点
- AJAX工作原理及其优缺点