angularjs服务常见用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

以上是关于angularjs服务常见用法的主要内容,如果未能解决你的问题,请参考以下文章

angularJS使用ocLazyLoad实现js延迟加载

浅谈AngularJS中的$parse和$eval

AngularJS中$http服务的简单用法

angularjs基本概念和用法之服务

AngularJS 中 Provider 的用法及区别

angularjs之Restangular用法