AngularJS(一)
来源:互联网 发布:mysql having 编辑:程序博客网 时间:2024/05/29 02:55
2017-05-26 学习记录:
一、入门程序
二、ng-controller控制器
三、AngularJS指令
四、ng-repeat
五、ng-model
六、Scope作用域
七、AngularJS过滤器
一、入门程序:
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body><div ng-app="" ng-init="firstname='haorui'"><!--ng-model的用法--><p>姓名:<input type="text" ng-model="name"></p><h1>第一种方式:{{name}}</h1><!--在div中加ng-init后,ng-bind绑定到HTML中--><p>第二种方式:<span ng-bind="firstname"></span></p> <!--表达式的方式,和ng-bind有相同的效果--><p>第三种方式: {{firstname}}</p></div></body></html>
1、<div ng-app=""> 中间不能写东西,若写值,则后面要跟ng-controller.
2、多个ng-app必须放js代码:一般来说只有一个 ng-app,多出来的不会执行,但是也没有硬性规定,如果你要多个ng-app也行,不过得用js启动 ,代码如下:
angular.bootstrap(document.getElementById("app2"), ['yourApp']);
二、ng-controller 控制器
AngularJS 应用程序由 ng-app 定义。应用程序在<div>内运行。
ng-controller="myCtrl" 属性是一个AngularJS指令。用于定义一个控制器。
myCtrl 函数是一个 JavaScript函数。
AngularJS 使用$scope 对象来调用控制器。
在 AngularJS 中,$scope 是一个应用对象(属于应用变量和函数)。
控制器的 $scope (相当于作用域、控制范围)用来保存AngularJS Model(模型)的对象。
控制器在作用域中创建了两个属性 (firstName 和 lastName)。
ng-model 指令绑定输入域到控制器的属性(firstName和lastName)。
<div ng-app="myApp" ng-controller="personCtrl">名: <input type="text" ng-model="firstName"><br>姓: <input type="text" ng-model="lastName"><br><br>姓名: {{fullName()}}</div><script>var app = angular.module('myApp', []);app.controller('personCtrl', function($scope) { $scope.firstName = "John"; $scope.lastName = "Doe"; $scope.fullName = function() { return $scope.firstName + " " + $scope.lastName; }});</script>
三、AngularJS指令
AngularJS 通过被称为 指令 的新属性来扩展HTML。
AngularJS 通过内置的指令来为应用添加功能。
AngularJS 允许你自定义指令
数据绑定:
{{ firstName }} 是通过 ng-model="firstName" 进行同步。
AngularJS 中的数据绑定,同步了 AngularJS 表达式与 AngularJS 数据。
喜欢这个上下键可以增删减值。
四、ng-repeat重复HTML元素
<div data-ng-app="" data-ng-init="names=['Jani','Hege','Kai']"> <p>使用 ng-repeat 来循环数组</p> <ul> <li data-ng-repeat="x in names"> {{ x }} </li> </ul></div>
AngularJS 完美支持数据库的 CRUD(增加Create、读取Read、更新Update、删除Delete)应用程序。
五、ng-model
1、验证用户输入:
<form ng-app="" name="myForm"> Email: <input type="email" name="myAddress" ng-model="text"> <span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span></form><p>在输入框中输入你的邮箱地址,如果不是一个合法的邮箱地址,会弹出提示信息。</p>提示信息会在 ng-show 属性返回 true 的情况下显示。
2、ng-model 指令可以为应用数据提供状态值(invalid, dirty, touched, error):
<form ng-app="" name="myForm" ng-init="myText = 'test@runoob.com'"> Email: <input type="email" name="myAddress" ng-model="myText" required></p> <h1>状态</h1> {{myForm.myAddress.$valid}} {{myForm.myAddress.$dirty}} {{myForm.myAddress.$touched}}</form>
六、Scope作用域
<div ng-app="myApp" ng-controller="myCtrl"><h1>{{lastname}} 家族成员:</h1><ul> <li ng-repeat="x in names">{{x}} {{lastname}}</li></ul></div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope, $rootScope) { $scope.names = ["Emil", "Tobias", "Linus"]; $rootScope.lastname = "Refsnes";});</script>
七、angularJS过滤器
过滤器可以使用一个管道字符(|)添加到表达式和指令中。
现在都把JavaScript代码放在一个js文件里,在jsp里进行引用。
<div ng-app="myApp" ng-controller="personCtrl"><p>姓名为 {{ lastName | uppercase }}</p></div><script src="http://www.runoob.com/try/demo_source/personController.js"></script>
----------------------------------自定义过滤器:可以将字符串反转------------------------------
<div ng-app="myApp" ng-controller="myCtrl">姓名: {{ msg | reverse }}</div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) { $scope.msg = "Runoob"; });app.filter('reverse', function() { //可以注入依赖 return function(text) { return text.split("").reverse().join(""); } });</script>
一个过滤器的综合小程序:
<!DOCTYPE html><html><meta charset="utf-8"><script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script><body ng-app="myApp"><div ng-controller="myCtrl"><!--uppercase转换成大写--><div ng-bind="myName | uppercase"></div> <!--lowercase转换成小写--><div ng-bind="myName | lowercase"></div> <!--currency 过滤器将数字格式化为货币格式--><div class="" ng-bind="money | currency : '¥'"> </div> <!--orderBy 过滤器根据表达式排列数组--><div class="" ng-repeat="v in book | orderBy:'id'"><p ng-bind="v.name"></p></div><!--orderBy 过滤器根据表达式排列数组 默认正序asc,倒序添加-负号--><div class="" ng-repeat="v in book | orderBy:'-id' | filter : ''"><p ng-bind="v.name" style="color:red;"></p></div><!--filter 过滤器根据表达式过滤不包含过滤器中的内容--><!--自定义注入依赖myName--><!--自定义过滤器aa--><div class="" ng-bind="myName | aa" style="color:blue;"> </div></div><script>angular.module('myApp',[]).controller('myCtrl',function($scope){$scope.myName="Dhx";$scope.money=100;$scope.book=[{"id":"1","name":"数据结构"},{"id":"2","name":"算法基础"},{"id":"5","name":"数据分析"},{"id":"4","name":"Java语言程序设计"},{"id":"3","name":"离散数学"}]}).filter('aa',function(){ //split("")将val切割成数组,reverse()将数组反转,join("")将数组变成字符串return function(val){return val.split("").reverse().join("");}})</script></body></html>
HRhr¥100.00数据结构算法基础离散数学Java语言程序设计数据分析数据分析Java语言程序设计离散数学算法基础数据结构rH
- angularJs(一)指令
- AngularJS入门(一)
- AngularJS初探(一)
- AngularJS学习(一)
- AngularJS学习(一)
- AngularJS学习(一)
- angularjs学习(一)
- AngularJS教程(一)
- AngularJS入门(一)
- AngularJs(一)概述
- AngularJS实例教程(一)
- AngularJS(一)
- AngularJS(一)指令
- AngularJS动画(一)
- AngularJS 初探(一)
- AngularJS 教程(一)
- AngularJS(一)
- AngularJS详解(一)
- UVA489 Hangman Judge(字符串处理)
- C的|、||、&、&&、异或、~、!运算
- android 客户端通讯
- 1.12.1CMOS摄像头之硬件原理
- js实现文本框的锁定与解锁
- AngularJS(一)
- POI操作excel
- JavaSE-day09笔记
- 服务器常用端口总结
- 复习 activity 的生命周期 手机锁屏时生命周期变化
- 降维算法
- csn231SettingUpTheDataAndTheModel
- Native SQL(原生SQL)当中的条件查询
- DonMin-2017-5-26-day03