/
service服务
<!DOCTYPE html>
<html><head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../../angular/angular.js" ></script>
<script>
var app = angular.module("myApp",[]);
app.controller("myCtrl",function($scope,$a){
$scope.name = myService.name;
$scope.sex = myService.sex;
});
//自定义service服务,,通过this
app.service("$a",function(){
this.name = "张三";
this.sex = "女";
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<p>自定义service服务:{{name}}</p>
</body>
</html>
/
factory服务
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../../angular/angular.js" ></script>
<script>
var a = 20;
var app = angular.module("myApp",[]);
app.controller("myCtrl",function($scope,$myFactory){
$scope.name = $myFactory.name;
//$scope.age = $myFactory.age;
$scope.newAge;
$scope.fun = function(){
$myFactory.setAge($scope.newAge);
$scope.age = $myFactory.getAge();
}
});
//通过调用factory函数自定义服务
/*app.factory("$myFactory",function(){
var student = {};
student.age = a;
student.name = "张三";
return student;
});*/
//通过调用factory函数自定义服务,,在外面$myFactory代表student
app.factory("$myFactory",function(){
var student = {};//创建一个空对象,返回这个对象
var age;//定义随便一个私有变量
//给student对象设置方法,这个方法可以直接被student对象调用。
//通过操作这个方法,操作私有化变量。
student.setAge = function(newAge){
age = newAge;
}
student.getAge = function(){
return age;
}
student.name = "张三";//直接给对象属性赋值,赋好的值,可以直接通过对象名.属性名获取。
return student;
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<input type="number" ng-model="newAge"/>
<button ng-click="fun()">点击查看年龄</button>
{{name +":"+age}}
</body>
</html>
/
orderBy排序
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="js/angular.js" ></script>
<script>
var app = angular.module("myApp",[]);
//创建控制器
app.controller("myCtrl",function($scope){
//准备数据
var date1 = new Date("2017-11-20 09:32:21");
var date2 = new Date("2017-11-20 10:32:21");
var date3 = new Date("2017-11-20 11:11:11");
$scope.goods = [{
name:"云南白药",
num:100,
address:"云南",
price:19.9,
date:date1
},{
name:"999感冒灵",
num:30,
address:"北京",
price:12.5,
date:date2
},{
name:"感康片",
num:20,
address:"河北",
price:16.6,
date:date3
}];
$scope.orderKey = "";
$scope.thClick = function(ele){
$scope.orderKey = ele;
};
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
排序规则:<select ng-model="orderKey">
<option value="num">按数量升序</option>
<option value="-num">按数量降序</option>
<option value="date">按日期升序</option>
<option value="-date">按日期降序</option>
<option value="price">按价格升序</option>
<option value="-price">按价格降序</option>
</select>
<table border="1">
<thead>
<th>名字</th><th ng-click="thClick('num')">数量</th><th>地址</th><th>价格</th><th ng-click="thClick('date')">日期</th>
</thead>
<tbody>
<tr ng-repeat="g in goods | orderBy:'-num' |orderBy:orderKey">
<td>{{g.name}}</td>
<td>{{g.num}}</td>
<td>{{g.address}}</td>
<td>{{g.price | currency:"¥"}}</td>
<td>{{g.date | date:"yyyy-MM-dd hh:mm:ss"}}</td>
</tr>
</tbody>
</table>
</body>
</html>
///
myFactory
factory服务
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/angular.js" ></script>
<script>
var app = angular.module("myApp",[]);
app.controller("myCtrl",function($scope,$myFactory,myservice,myprovider){
$scope.address1="北京" ;
$scope.str ;
$scope.name1 = $myFactory.sname;
$scope.age1 = $myFactory.sage;
$scope.fun = function(){
$myFactory.setAddress($scope.address1);
$scope.str = $myFactory.getAddress();
}
$scope.name2 = myservice.sname;
$scope.age2 = myservice.sage;
$scope.carname = myprovider.cname;
$scope.carprice = myprovider.cprice;
$scope.num1 =1;
$scope.num2 =2;
$scope.result = myservice.add($scope.num1,$scope.num2);
});
//自定义factory服务,提供一个学生对象数据
app.factory("$myFactory",function(){
var student = {};
var address;
student.sname = "张三";
student.sage = 20;
student.setAddress = function(newAddress){
address = newAddress;
}
student.getAddress = function(){
return address;
}
return student;
});
app.service("myservice",function(){
this.sname="李四";
this.sage = 30;
this.add = function(x,y){
return x+y;
}
});
app.provider("myprovider",function(){
this.$get=function(){
var car = {};
car.cname = "宝马x3";
car.cprice = "300000";
return car;
}
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="address1" /><span>{{str}}</span><input type="button" value="查看地址" ng-click="fun();" />
学生姓名1:{{name1}},年龄1:{{age1}}<br />
学生姓名2:{{name2}},年龄2:{{age2}}<br />
汽车名字3:{{carname}},价钱3:{{carprice}}<br />
<br />
<input type="number" ng-model="num1"/>+<input type="number" ng-model="num2"/>=<span>{{num1+num2}}</span>
</body>
</html>
//
三级省市联动
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/angular.js" ></script>
<script>
var app = angular.module("myApp",[]);
app.controller("myCtrl",function($scope){
$scope.proList =[
{
"amode":"河南",
"citys":[
{"name":"郑州",
"area":[{"aname":"郑1区"},{"aname":"郑2区"}]
},
{"name":"开封",
"area":[{"aname":"开1区"},{"aname":"开2区"}]
}
]
},
{
"amode":"河北",
"citys":[
{"name":"石家庄",
"area":[{"aname":"石1区"},{"aname":"石2区"}]
},
{"name":"邯郸",
"area":[{"aname":"邯1区"},{"aname":"邯2区"}]
}
]
}
];
$scope.str="我是一个无用的属性";
$scope.proChange = function(){
$scope.select2 = $scope.select1.citys[0];
$scope.select3 = $scope.select2.area[0];
}
$scope.cityChange = function(){
$scope.select3 = $scope.select2.area[0];
}
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<div>
<select style="width: 120px;" ng-init="select1=proList[0]" ng-model="select1" ng-change="proChange();" ng-options="item.amode for item in proList"></select>
<select style="width: 120px;" ng-init="select2=select1.citys[0]" ng-change="cityChange();" ng-model="select2" ng-options="data1.name for data1 in select1.citys"></select>
<select style="width: 120px;" ng-init="select3=select2.area[0]" ng-model="select3" ng-options="a.aname for a in select2.area"></select>
</div>
</body>
</html>
//
provider服务
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../../angular/angular.js" ></script>
<script>
var app = angular.module("myApp",[]);
app.controller("myCtrl",function($scope,myProvider){
$scope.food = myProvider.food;
});
//自定义provider服务
app.provider("myProvider",function(){
this.$get = function(){
var result = {};
result.food = "唐僧肉";
return result;
};
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
我想吃:{{food}}
</body>
</html>
select服务
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../../angular/angular.js" ></script>
<script>
var app = angular.module("myApp",[]);
app.controller("myCtrl",function($scope,$a){
$scope.name = myService.name;
$scope.sex = myService.sex;
});
//自定义service服务,,通过this
app.service("$a",function(){
this.name = "张三";
this.sex = "女";
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<p>自定义service服务:{{name}}</p>
</body>
</html>