angularjs服务常见用法

时间:2023-03-09 09:14:19
angularjs服务常见用法
  • 服务可以再应用的整个生命周期内保持数据,不会在切换路由或者重新加载视图时被清楚掉(控制器只有在需要时才被实例化)
  • 服务是一个单例对象,在每个应用中只会被实例化一次
  1. 服务在应用的生命周期内保存数据
angular.module('myApp')
.factory('myService', [function(){
var store_id = null; function set_curr_storeid(id) {
store_id = id;
return;
} function get_curr_storeid() {
return store_id
} return {
'set_curr_storeid': set_curr_storeid,
'get_curr_storeid': get_curr_storeid
}
}]) //在控制器中使用时 myService.set_curr_storeid(id) 去设置它的值

  2.将一些常用的功能函数封装在服务里,给各个控制器调用

angular.module('myApp',[])
.factory('CommonHelper', [function () {
function get_china_num(status) {
switch status {
case 1:
return '数字一';
break;
case 2:
return '数字二';
break;
default:
return '其他';
break;
}
} return {
'get_china_num': get_china_num
};
}]); //在页面中绑定的表达式里直接用服务,类似过滤器的作用 <div ng-repeat = "one_menu in menus">
<p>{{CommonHelper.get_china_num(one_menu.status)}}</p>
</div>