angular 指令简述
2015-11-06 00:00
1516 查看
angularjs指令系统
在之前的例子中,我们在html标签中认识了几个ng-
的属性,比如ng-app
, ng-controller
,他们都是angularjs指令系统中的一员,在以后的学习中,我们还会遇到更多的指令系统,他们能够方便快捷的帮助我们实现很多功能。
通俗来讲,就是数据改变,视图就改变,视图改变,数据也跟着改变,这就是双向改变的过程。在angular中
-
数据
指的是js声明作用域的函数中,挂载在$scope
上的变量的具体值 -
视图
指的是在html中的{{}}
中的变量的呈现效果
先来看一个数据改变视图的例子
在js中,setTimeout能够延迟实现,angular中也同样对setTimeout封装了一个叫做$timeout
的属性,他的用法和setTimeout一致。
<!DOCTYPE html> <html ng-app> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <title>Document</title> <link rel="stylesheet" href="bootstrap.css"> <script src="angular.min.js"></script> </head> <body> <div class="container"> <div class="row" ng-controller="R1"> <h4>{{name}}</h4> </div> </div> </body> <script> function R1($scope, $timeout) { $scope.name = "young jake"; $timeout(function() { $scope.name = "old jake"; }, 2000); } </script> </html>
两秒之后,young jake 变成 old jake.
另外一个例子,点击button,input框中的数据发生变化
-
ng-click
点击事件
<!DOCTYPE html> <html ng-app> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <title>Document</title> <link rel="stylesheet" href="bootstrap.css"> <script src="angular.min.js"></script> </head> <body> <div class="container"> <div class="row" ng-controller="R1"> <h4>{{name}}</h4> </div> <div class="row" ng-controller="R2"> <div class="input-group col-xs-6 col-xs-offset-3"> <span class="input-group-btn" ng-click="text='after click.'"> <button type="button" class="btn btn-default">Change!</button> </span> <input type="text" class="form-control" value="{{text}}"> </div> </div> </div> </body> <script> function R1($scope, $timeout) { $scope.name = "young jake"; $timeout(function() { $scope.name = "old jake"; }, 2000); } function R2($scope) { $scope.text = "this is a bootstrap input-group."; } </script> </html>
最后一个例子是视图改变数据的例子,在该例子中,通过改变input的值将数据中的值改变,然后将改变之后的数据在另外一个input中显示出来
ng-model
用来同步视图和数据内容的指令,通过该指令实现双向数据同步
<!DOCTYPE html> <html ng-app> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <title>Document</title> <link rel="stylesheet" href="bootstrap.css"> <script src="angular.min.js"></script> </head> <body> <div class="container"> <div class="row" ng-controller="Show"> <div class="input-group"> <span class="input-group-btn"><button type="button" class="btn btn-primary">输入</button></span> <input type="text" class="form-control" ng-model="content" placeholder="{{default}}"> </div> <div class="input-group"> <span class="input-group-btn"><button type="button" class="btn btn-default">显示</button></span> <input type="text" class="form-control" value="{{content}}", placeholder="{{default}}"> </div> </div> </div> </body> <script> function Show($scope) { $scope.default = 'please input your content'; $scope.content = ""; } </script> </html>
相关文章推荐
- Angular 4 指令快速入门教程
- 关于angular的include指令,include的页面无法加载js问题解决
- Angular学习-指令入门
- 【angular】指令及数据绑定入门
- 【angular】指令及数据绑定入门
- angular总结-directive指令基础
- Angular2组件与指令的小实践——实现一个图片轮播组件
- Angular学习(十六)——用指令修改DOM/校验用户输入
- angular指令中,require和transclude同时设置为true时的作用
- Angular2组件与指令的小实践——实现一个图片轮播组件
- angular中重要指令介绍($eval,$parse和$compile)
- Angular 几篇关于指令的好文章收录(一)
- 自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
- AngularJS directive 实现分页包装指令
- Angular 中间部分 2.1 内置指令和表单
- Angular指令编译原理
- angular2指令解读:ngFor,ngIf,ngSwitch,ngStyle,ngClass用法
- 简述CPU、内存、硬盘与指令之间的关系
- angular的入门及常用指令,控制器
- Angular常用ng指令详解