Angular.js 学习笔记
AngularJS 通过新的属性和表达式扩展了 HTML。
AngularJS 可以构建一个单一页面应用程序。
<!--
ng-app 指令定义一个 AngularJS 应用程序。
ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
ng-bind 指令把应用程序数据绑定到 HTML 视图。
-->
<div ng-app="" ng-init="firstName='John'">
<p>
名字 :
<input type="text" ng-model="name">
</p>
<h1>Hello <span ng-bind="name"></span></h1>
<!--
AngularJS 指令是以 ng 作为前缀的 HTML 属性。
ng-init 指令初始化 AngularJS 应用程序变量。
-->
<p ng-bind="firstName"></p>
<p>我的第一个表达式 5 + 5= {{ 5 + 5 }}</p>
</div>
<script src="../angular.js"></script>
<!--
ng-controller="myCtrl" 属性是一个 AngularJS 指令。用于定义一个控制器。
AngularJS 使用$scope 对象来调用控制器。$scope 属于应用变量和函数
$scope 用来保存AngularJS Model(模型)的对象。
-->
<div ng-app="myApp" ng-controller="myCtrl">
名:
<input type="text" ng-model="firstName"><br>
姓:
<input type="text" ng-model="lastName"><br>
<br>
姓名: {{ fullName() }}
</div>
<script src="../angular.js"></script>
<script>
var app = angular.module("myApp", []); //AngularJS 模块定义应用
app.controller("myCtrl", function ($scope) { //AngularJS 控制器控制应用
$scope.firstName = "John";
$scope.lastName = "Doe";
$scope.fullName = function () {
return $scope.firstName + " " + $scope.lastName;
}
})
</script>
<div ng-app="myApp">
<!--
ng-init 指令为 AngularJS 应用程序定义了 初始值。
通常情况下,不使用 ng-init。您将使用一个控制器或模块来代替它。
-->
<h2 ng-init="quantity=1;price=5">价格计算器</h2> 数量:
<input type="number" ng-model="quantity"> <!--ng-model 指令 绑定 HTML 元素 到应用程序数据。-->
价格:
<input type="number" ng-model="price"> <p><b>总价:</b> {{ quantity * price }}</p> <p ng-init="names=[
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}]">循环对象:</p>
<ul>
<!--ng-repeat 指令对于集合中(数组中)的每个项会 克隆一次 HTML 元素。-->
<li ng-repeat="x in names">{{ x.name + ', ' + x.country }}
</li>
</ul> <p>自定义指令:</p>
<!--
.directive 函数来添加自定义的指令。
要调用自定义指令,HTMl 元素上需要添加自定义指令名。
使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive: 可以通过以下方式来调用指令:元素名,属性,类名,注释
restrict 值可以是以下几种:
E 只限元素名使用
A 只限属性使用
C 只限类名使用
M 只限注释使用
-->
<runoob></runoob>
<div class="runoob"></div>
<runoob-directive></runoob-directive>
</div>
<script src="../angular.js"></script>
<script>
var app = angular.module("myApp", []);
app.directive("runoob", function () {
return {
restrict: "E",
template: "<h1>自定义指令!(runoob 非驼峰法)</h1>"
};
});
app.directive("runoobDirective", function () {
return {
template: "<h1>自定义指令!(runoobDirective 驼峰法)</h1>"
};
});
</script>
<div ng-app="myApp" ng-controller="myCtrl">
名字:
<input ng-model="name"><br />
<form name="myForm">
Email:
<input type="email" name="myAddress" ng-model="text">
<span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span>
</form> <p>列表:</p>
<ul>
<li ng-repeat="item in items">{{ item }} {{ lastname }}</li>
</ul>
</div>
<script src="../angular.js"></script>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function ($scope, $rootScope) {
$scope.name = "John Doe";
$scope.items = ["Emil", "Tobias", "Linus"];
/*
所有的应用都有一个 $rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。
$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。
用 rootscope 定义的值,可以在各个 controller 中使用。
*/
$rootScope.lastname = "Refsnes";
})
</script>
Angular.js 学习笔记的更多相关文章
- Angular JS 学习笔记(自定义服务:factory,Promise 模式异步请求查询:$http,过滤器用法filter,指令:directive)
刚学没多久,作了一个小项目APP,微信企业号开发与微信服务号的开发,使用的是AngularJS开发,目前项目1.0版本已经完结,但是项目纯粹为了赶工,并没有发挥AngularJS的最大作用,这几天项目 ...
- Angular JS 学习笔记(二)
1. AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面.AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定 ...
- Angular JS 学习笔记(一)
1. 菜鸟教程:http://www.runoob.com/angularjs/angularjs-tutorial.html 2. Angular JS中文网:http://www.apjs.net ...
- Angular.js学习笔记(三)
一.过滤器 1.uppercase,lowercase 大小写转换{{ "lower cap string" | uppercase }} // 结果:LOWER CAP STRI ...
- Angular.js学习笔记 (二)
用A链接对象解析url的组成 var url = 'https://www.baidu.com:8080/aaa/1.html?id=10#name'; var aLink = document.cr ...
- angular.js学习笔记--概念总结
好久没更新了,现在开始学习学习angularjs,并且把学习到的一些知识总结记录一下,方便以后查找以及希望能给初学者一些帮助!(由于本人也是初学ng所以各位慎重理解!) 废话不多说,开始! $root ...
- angular.js学习笔记:实现商品价格计算实例
<!DOCTYPE html> <html lang="en" ng-app> <!-- ng-app:初始化的指令 也可以解析局部--> &l ...
- Angular.js学习笔记 (一)
- angular中最重要的概念是指令(directive)- ng-model 是双向数据绑定的指令,效果就是将当前元素的value属性和模型中的[user.name]建立绑定关系### 模块(Mo ...
- angular.js学习笔记(二)
1.安装core ,shared模块 ng g m core ng g m shared 2.在shared中导入core模块 core模块只加载一次所以将公共组件放到core中 3.创建公共组 ...
随机推荐
- 常用的API接口,返回JSON格式的服务API接口
物流接口 快递接口: http://www.kuaidi100.com/query?type=快递公司代号&postid=快递单号 ps:快递公司编码:申通="shentong&qu ...
- 解决mysql出现“the table is full”的问题
解决mysql出现“the table is full”的问题 2010-12-20 09:15:17 分类: LINUX 今天中午收到mysql错误日志监控发来的警报,错误日志如下: 101209 ...
- C语言 可变参数
一.基础部分 1.1 什么是可变长参数 可变长参数:顾名思义,就是函数的参数长度(数量)是可变的.比如 C 语言的 printf 系列的(格式化输入输出等)函数,都是参数可变的.下面是 printf ...
- osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)的理解
osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)与osal_set_event(Music_Ta ...
- 实现LoadRunner多个场景的顺序执行(命令行)
应用场景:假设有3个不同的测试场景,分别为并发登录.核心业务.可靠性测试,3个场景有先后执行顺序.由于白天测试机器另有用处,只能在晚上进行性能测试,这时我们的期望是能否把测试场景都设定好之后晚上自动运 ...
- svn local obstruction, incoming add upon merge
http://little418.com/2009/05/svn-local-obstruction-incoming-add-upon-merge.html If you've found this ...
- Delphi结构体数组指针的问题
//这段代码在Delphi 2007和delphi 7下是可以执行的,所以正确使用结构体数组和指针应该是这样的,已验证 unit Unit1; interface uses Windows, Mess ...
- 透明、圆角、阴影效果、背景色渐变、<a></a>去外层虚线、!!!表格标签<table>
表格标签 <table> 代表表格 width:指表格的宽度 一种是像素 (浏览器缩小的时候出现滚动条) 一种是百分比(跟着浏览器的大小而大小) b ...
- 查看Sql Server所有表占用的空间大小
2010-01-26 sp_spaceused可以查看某个表占用的空间,但不能一次查看所有的表.今天研究了一下这个sp,写了下面这个查询: --刷新系统数据dbcc updateusage(0) wi ...
- mongodb在win7下的安装和使用
1.下载mongodb的windows版本,有32位和64位版本,根据系统情况下载,下载地址:http://www.mongodb.org/downloads 2.解压缩至额E:/mongodb即可 ...