Angularjs基础(六)
AngularJS HTML DOM
AngularJS为HTML DOM 元素的属性提供了绑定应用数据的指令。
ng-disabled指令
ng-disabled指令直接绑定应用数据到HTML的disabled属性。
实例:
<div ng-app="" ng-init="mySwitch=true">
<p>
<button ng-disableled="mySwitch">点我!</button>
</p>
<p>
<input type="checkbox" ng-model ="mySwitch">按钮
</p>
<p>
{{ mySwitch }}
<p>
</div>
实例讲解:
ng-disabled 指令绑定应用程序数据“mySwitch”到HTML 的disabled 属性。
ng-model 指令绑定 “mySwitch”到HTML input checkbox 元素的内容(value).
如果mySwitch 为true ,按钮将不可用。
<p>
<button disabled>点我!</button>
</p>
如果 mySwitch 为false, 按钮则可用:
<p>
<button>点我!</button>
</p>
ng-show 指令
ng-show 指令隐藏或显示一个HTML 元素。
实例
<div ng-app="">
<p ng-show="true">我是可见的</p>
<p ng-show="false">我是不可见的</p>
</div>
ng-show指令是根据value的值来显示(隐藏)HTML元素。
你可以使用表达式来计算布尔值(true或false):
实例:
<div ng-app="">
<p ng-show="hour > 12">我是可见的</p>
</div>
ng-hide指令
ng-hide指令用于隐藏或者显示HTML 元素。
实例
<div ng-app="">
<p ng-hide="true">我是不可见的</p>
<p ng-hide="false">我是可见的</p>
</div>
AngularJS 事件
AngularJS 有自己的HTML 事件指令
ng-click 指令
ng-click 指令定义了AngularJS 点击事件
实例:
<div ng-app="" ng-controller="myCtrl">
<button ng-click="count = count +1">点我!</button>
<p>{{ count }}</p>
</div>
隐藏HTML元素
ng-hide 指令用于设计应用部分是否可见
ng-hide="true"设置HTML元素不可见,
ng-hide="false"设置HTML 元素不可见。
实例:
<div ng-app="myApp" ng-controller="personCtrl">
<button ng-click="toggle()">>隐藏/ 显示</button>
<p ng-hide="myVar">
名:<input type="text" ng-model="firstName">
姓名:<input type="text" ng-model="lastName">
Full Name:{{firstName + ""+lastName}}
</p>
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('personCtrl',function($scope){
$scope.firstName = "John",
$scope.lastName="Doe"
$.scope.myVar = false;
$scope.toggle = function(){
$scope.myVar = !$scope.myVar;
}
})
</script>
应用解析:
第一部分 personController与控制器章节类似。
应用有一个默认属性:$scope.myVar = false;
ng-hide指令设置<p>元素及两个输入域是否可见,根据myVar的值(true 或false)来设置是否可见
toggle()函数用于切换myVar 变量的值(true 和false)
ng-hide="true"让元素不可见。
显示HTML元素
ng-show 指令可用于设置应用中心的一部分是否可见。
ng-show="false" 可以设置HTML 元素 不可见。
ng-show=“true”可以设置HTML元素可见。
实例:
<div ng-app="myApp" ng-controller="personCtrl">
<button ng-click = "toggle()">隐藏/显示</button>
<p ng-show ="myVar">
名:<input type="text" ng-model="firstName">
姓:<input type="text" ng-model="lastName">
姓名:{{firstName +""+ lastName}}
</p>
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('personCtrl',function($scope){
$scope.firstName = "John",
$scope.lastName = "Doe"
$scope.myVar = true;
$scope.toggle = function(){
$scope.myVar = !$scope.myVar;
}
})
</script>
AngularJS 模块
模块定义了一个应用程序。
模块是应用程序中不同部分的容器。
模块是应用控制器的容器。
控制器通常属于一个模块。
创建模块
<div ng-app="myApp">...</div>
<script>
var app = angular.module("myApp",[]);
</script>
“myApp”参数对应执行应用的HTML元素。
现在你可以在AngularJS 应用中添加控制器,指令,过滤器等。
添加控制器
你可以使用ng-controller 指令来添加应用的控制器。
实例:
<div ng-app="myApp" ng-controller="myCtrl">
{{firstName + "" +lastName}}
</div>
<script>
var app= angular.module("myApp",[]);
app.controller("myCtrl",function($scope){
$scope.firstName = "John";
$scope.lastName = "Doe";
})
</script>
添加指令
AngularJS 提供了很多内置的命令,你可以使用它们来为你的应用添加功能。
实例:
<div ng-app="myApp" runoob-directive></div>
<script>
var app = angular.module("myApp",[]);
app.directive("runoobDirective",function(){
return{
template:"我在指令构造器中创建!"
};
})
</script>
模块和控制器包含在JS 文件中
通常AngularJS 应用程序将模块和控制器包含在JavaScript文档中
<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script src="myApp.js"></script>
<script src="myCtrl.js"></script>
</body>
</html>
myApp.js
var app = angular.module("myApp",[]);
在模块定义中[] 参数用于定义模块的依赖关系。
中括号[] 表示该模块没有依赖,如果有依赖的话会在中括号写上依赖的模块名。
myCtrl.js
app.controller("myCtrl",function($scope){
$scope.firstName = "John";
$scope.lastName ="Doe";
})
函数会影响到全局命名空间
JavaScript 中应避免使用全局函数。因为他们很容易被其他脚本文件覆盖。
AngularJS 模块让所有的函数的作用域在该模块下,避免了该问题。
什么时候载入库?
在我们的实例中,所有的AngularJS 库都在HTML 文档的头部载入。
对于HTML应用程序,通常建议把所有的脚本都放置在<body>元素的最底部。
会提高网页的加载速度,因为HTML加载不受制于脚本加载。
在我们的多个AngularJS 实例中您将看到AngularJS库是在文档的<head>区域被加载。
在我们的实例中,AngularJS在<head>元素中被加载,因为对angular.module的调用只能在库加载完后才能进行。
另一个解决方案在<body>元素中加载AngularJS 库,但是必须放置在您的AngularJS脚本前面:
实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script>
</body>
</html>
Angularjs基础(六)的更多相关文章
- AngularJS基础入门初探
一.AngularJS简介 1.1 什么是AngularJS (1)一款非常优秀的前端JS框架,可以方便实现MVC/MVVM模式 (2)由Misko Hevery 等人创建,2009年被Google所 ...
- Bootstrap<基础六> 表单
Bootstrap 通过一些简单的 HTML 标签和扩展的类即可创建出不同样式的表单. 表单布局 Bootstrap 提供了下列类型的表单布局: 垂直表单(默认) 内联表单 水平表单 垂直或基本表单 ...
- C#_02.15_基础六_.NET类
C#_02.15_基础六_.NET类 一.类继承是一个类在另一个类的基础上进行的扩展. 继承的子类拥有父类的全部成员.索引子类拥有本身的全部成员以及父类的全部成员. 可以对基类成员进行隐藏,如果必须的 ...
- {Django基础六之ORM中的锁和事务}一 锁 二 事务
Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 一 锁 行级锁 select_for_update(nowait=False, skip_locked=False) #注意必须用在 ...
- day 71 Django基础六之ORM中的锁和事务
Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 锁 行级锁 select_for_update(no ...
- day 58 Django基础六之ORM中的锁和事务
Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 锁 行级锁 select_for_update( ...
- Django基础六之cookie和session
Django基础六之cookie和session 目录 Django基础六之cookie和session 1. cookie和session介绍 1.1 cookie 简介 1.2 cookie的缺陷 ...
- AngularJS基础知识1
一.angularJS简介 1.什么是 AngularJS? AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库.AngularJS是协助搭建单页面工程 ...
- AngularJS基础概念
作用域.控制器.指令 作用域 应用的作用域是和应用的数据模型相关联的,同时作用域也是表达式执行的上下文.$scope对象是定义应用业务逻辑.控制器方法和视图属性的地方. 作用域是应用状态的基础.基于动 ...
随机推荐
- mc:Ignorable="d"什么意思?
有两个命名空间我们要注意一下的:xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc=" ...
- Razor语句(VIew)小知识
1.可以写后台语句 例如:
- (一)初识div+css
关于div+css,一直以来都是听其名,而不知其为何.今天看了半天的视频,终于对此略有了解,感觉挺好的,相比之前的table布局页面,div+css就是一把页面布局利器!! div全称division ...
- CSP学习之导出密钥BLOB 解析
通过CryptExportKey( hKey, NULL, PUBLICKEYBLOB,0, NULL, &dwBlobLen) 函数导出的公钥信息如下: 06 02 00 00 00 A4 ...
- OLEDB 参数化查询
一般情况下,SQL查询是相对固定的,一条语句变化的可能只是条件值,比如之前要求查询二年级学生信息,而后面需要查询三年级的信息,这样的查询一般查询的列不变,后面的条件只有值在变化,针对这种查询可以使用参 ...
- 【Android】3.0 Android开发环境的搭建(2)——eclipse
1.0模拟机登录后,可能会一直停留在这个界面很久,那就去洗洗澡.睡睡觉.吃吃饭…… 2.0登录后可以在设置中改成中文,这样界面对国人来说比较友好. 3.0 虚拟机首页可以看到有短信息.拨打电话.浏览器 ...
- jQuery.vilidation.js登录&注册
代码解析:通过ajax获取url路径链接php接口做登录和注册获取到的数据传到数据库. ajax利用四步: //1.创建一个ajax对象; //2.打开请求: //判断用户传递的是get还是post请 ...
- windows下使用xerces -c解析XML
windows下使用Xerces-C++解析XML 前景提要 最近工作中遇到收到的数据为xml格式的情况,考虑到xml解析应该是个很常用的功能,应该有开源的lib库可以使用,于是就在网上找了找,果然发 ...
- matlab练习程序(生成黑白网格)
提供了两种生成方法,一个是自己编程实现,比较灵活:另一个是调用系统的checkerboard函数,似乎只能生成8*8网格. 至于用途,也许可以用来下国际象棋. 自己函数生成: 系统函数生成: 代码如下 ...
- JSTL标签概述
什么是JSTL JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式化. ...