Angularjs基础(四)
AngularJS过滤器 过滤器可以使用一个管道符(|)添加到表达式和指令中。 AngularJS过滤器可用于转换数据: currency 格式化数字为货币格式 filter 从数组中选着应子集。 lowercase 格式化字符串为小写。 orderBy 根据某个表达式排列数组 uppercase 格式化字符串为大写。
表达式中添加过滤器 过滤器可以通过一个管道字符(|) 和一个过滤器添加到表达式中。 uppercase过滤器将字符串格式化为大写。 实例:
<div ng-app="myApp" ng-controller="personCtrl">
<p>姓名{{lastName | uppercase}}</p>
</div>
lowercase 过滤器将字符串格式化为小写
<div ng-app="myApp" ng-controller="personCtrl">
<p>姓名为{{lastName | lowercase}}</p>
</div>
currency 过滤器 currency 过滤器将数字格式化为货币格式: 实例:
<div ng-app="myApp" ng-controller="costCtrl">
<input type="number" ng-model="quantity">
<input type="number" ng-model="price">
<p>总价={{(quantity * price) | currency}}</p>
</div>
向指令添加过滤器 过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中 orderBy 过滤器根据表达式排列数组: 实例:
<div ng-app="myApp" ng-controller="namesCtrl">
<ul>
<li ng-repeat="x in name | orderBy:'country'">
{{x.name +','+ x.country}}
</li>
</ul>
</div>
过滤输入 输入过滤器可以通过一个管道符(|)和一个过滤器添加到指令中,该过滤器后跟一个冒号和模型名称。 filter过滤器从数组中选着一个子集: 实例
<div ng-app="myApp" ng-controller="namesCtrl">
<p><input type="text" ng-model="test"></p>
<ul>
<li ng-repeat="x in names | filter:test | orderBy:'countery'">
{{(x.name | uppercase) +','+x.counry}}
</li>
</ul>
</div>
AngularJS服务(Service) AngularJS 中你可以创建自己的服务,或使用内创建服务。 什么是服务? 在AngularJS中,服务是一个函数或对象,在你的AngularJS 应用中使用。 有个$location 服务,他可以返回当前页面的URL地址。 实例:
var app = angular.module('myApp',[]);
app.controller('customersCtrl',function($scope,$location){
$scope.myUrl = $location.absUrl();
})
注意:$location 服务是作为一个参数传递到controller中.如果要使用它,需要在controller中定义。
为什么使用服务? $http 是AngularJS 应用中最常用的服务。服务向服务器发送请求,应用响应服务器传送过来的数据。 AngularJS 会一直监控应用,处理事件变化,AngularJS使用 $location 服务比使用window.location 对象更好。
$http 服务 $http 是AngularJS 应用中做常用的服务。服务像服务器发送请求。应用响应服务器传递过来的数据。 实例: 使用$http 服务器服务器请求数据:
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope,$http){
$http.get("welcome.html").then(function(response){
$scope.myWelcome = response.data;
});
});
$timeout 服务 AngularJS $timeout 服务对应了JSwindow.setTimeout 函数 实例:
var app=angular.module('myApp',[]);
app.controller('myCtrl',function($scope,$timeout){
$scope.myHeader = "Hello World!";
$timeout(function(){
$scope.myHeader = "How are you today?";
},2000)
})
$interval 服务 AngularJS $interval 服务对应了JS window.setInterval 函数。 实例: 每两秒显示信息:
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope,$interval){
$scope.theTime = new Date().toLocaleTimeString();
$interval(function(){
$scope.theTime = new Date().toLocaleTimeString();
},1000)
})
创建自定义服务 你可以创建自定义的访问,链接到你的模块中: 创建名为hexafy 访问:
app.service('hexafy',function(){
this.myFunc = function(x){
this.myFunc = function (x){
return x.toString(16);
}
}
});
要使用自定义的访问,需要在定义过滤器的时候独立添加: 实例: 使用自定义的服务hexafy 将一个数组转换为16 进制。
app.controller('myCtrl',function($scope,hexafy){
$scope.hex = hexafy.myFunc(255);
})
过滤器中,使用自定服务 当你创建了自定义服务器,并连接到你的应用上后,你可以在控制器,指令,过滤器或其他服服务器中使用它。 在过滤器myFormat 中使用服务hexafy:
app.filter('myFormat',['hexify',function(hexify){
return function(x){
return hexify.myFunc(x);
};
}])
在从对象会数组中获取值时你可以使用过滤器: 创建服务hexafy:
<ul>
<li ng-repeat ="x in counts">{{x | myFormat}}</li>
</ul>
AngularJS XMLHttpRequest $http 是AngularJS 中的一个核心服务,用于读取远程服务器的数据。
读取JSON 文件 以下是存储在web服务器上的JSON 文件
{
"records":
[
{
"Name" : "Alfreds Futterkiste",
"City" : "Berlin",
"Country" : "Germany"
},
{
"Name" : "Berglunds snabbk?p",
"City" : "Lule?",
"Country" : "Sweden"
},
{
"Name" : "Centro comercial Moctezuma",
"City" : "México D.F.",
"Country" : "Mexico"
},
{
"Name" : "Ernst Handel",
"City" : "Graz",
"Country" : "Austria"
},
{
"Name" : "FISSA Fabrica Inter. Salchichas S.A.",
"City" : "Madrid",
"Country" : "Spain"
},
{
"Name" : "Galería del gastrónomo",
"City" : "Barcelona",
"Country" : "Spain"
},
{
"Name" : "Island Trading",
"City" : "Cowes",
"Country" : "UK"
},
{
"Name" : "K?niglich Essen",
"City" : "Brandenburg",
"Country" : "Germany"
},
{
"Name" : "Laughing Bacchus Wine Cellars",
"City" : "Vancouver",
"Country" : "Canada"
},
{
"Name" : "Magazzini Alimentari Riuniti",
"City" : "Bergamo",
"Country" : "Italy"
},
{
"Name" : "North/South",
"City" : "London",
"Country" : "UK"
},
{
"Name" : "Paris spécialités",
"City" : "Paris",
"Country" : "France"
},
{
"Name" : "Rattlesnake Canyon Grocery",
"City" : "Albuquerque",
"Country" : "USA"
},
{
"Name" : "Simons bistro",
"City" : "K?benhavn",
"Country" : "Denmark"
},
{
"Name" : "The Big Cheese",
"City" : "Portland",
"Country" : "USA"
},
{
"Name" : "Vaffeljernet",
"City" : "?rhus",
"Country" : "Denmark"
},
{
"Name" : "Wolski Zajazd",
"City" : "Warszawa",
"Country" : "Poland"
}
]
}
AngularJS $http AngularJS $http 是一个用于读取web服务器上数据的服务。 $http.get(url)是用于读取服务器数据的函数。 实例:
<div ng-app="myApp" ng-controller="customersCtrl">
<ul>
<li ng-repeat="x in name">
{{x.Name + ','+x.Country}}
</li>
</ul>
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('customersCtrl',function($scope,$http){
$http.get("http:www.runoob.com/try/angularjs/data/Customes_JSON.php")
. success(function(response) {$scope.names = response.records;});
})
</script>
应用解析: 注意:以上代码的get请求是本站的服务器,你不能直接拷贝到你本地运行,会存在跨域问题,解决办法就是将Customers_JSON.php 的数据拷贝到你 的服务器上。 AngularJS 应用通过ng-app 定义,应用在<div>中执行。 ng-controller指令设置了controller对象名。 函数customersController是一个标准的JavaScript对象构造器。 控制器对象有一个属性:$scope.names. $http.get()从web服务器上读取静态JSON 数据。 服务器数据文件为: http://www.runoob.com/try/angularjs/data/Customers_JSON.php。 当从服务端载入JSON 数据时,$scope.names变为一个数组。
- weex里Vuex state使用storage持久化
- 网络字体@font-face 如何处理网页中的特殊字体
- python实现多变量线性回归(Linear Regression with Multiple Variables)
- 【美团技术团队博客】序列化和反序列化
- Java 静态代理与动态代理
- ELK日志套件安装与使用
- HTML知识复习
- MarkDown 常用语法教程
- CSS3盒阴影 box-shadow
- HTML5-类库系列 补讲AJAX
- HTML5-类库系列 事件与获取完成版样式
- 为什么不要在 JavaScript 中使用位操作符?
- 高级语言的编译:链接及装载过程介绍
- 美团技术团队博客:Kafka文件存储机制那些事
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法