用AngularJS的实现自定义服务
程序员文章站
2022-04-25 23:46:17
...
我们以cookie为例。
第一步:首先打开控制台使用bower安装angular-cookies
bower --save angular-cookies
第二步 : 在service目录下建一个cache.js文件。
第三步 : 在index.html中引入angular-cookies模块。
第四步 : 在app.js中添加ngCookies依赖。
'use strict'angular.module('app',['ui.router','ngCookies']);
第五步:在cache.js中调用$cookies服务
方法一:service服务的方式
'use strict'; angular.module('app').service('cache', ['$cookies', function($cookies){ this.put = function(key, value){ $cookies.put(key, value); }; this.get = function(key) { return $cookies.get(key); }; this.remove = function(key) { $cookies.remove(key); }; }]);
方法二:facotry服务工厂的方式
angular.module('app').factor('cache', ['$cookies', function($cookies){ //也就是说factor和service同时声明服务,作用是一样的,它们的区别在于我们调用factor的时候,factor可以在return对象之前可以声明一些私有的属性。如: var obj = {};//相当于一个私有属性,外部不可访问,而直接声明service是没有这个功能的。 //注意:factor和service不同,我们不能再this这个当前对象上面添加属性了,而是返回一个对象 //这个对象所带来的属性就是我们外面引用的factor可以引用的属性 return { put : function(key, value){ $cookies.put(key, value); }; get : function(key) { return $cookies.get(key); }; remove : function(key) { $cookies.remove(key); }; } }]);
也就是说factor和service同时声明服务,作用是一样的,它们的区别在于我们调用factor的时候,factor可以在return对象之前可以声明一些私有的属性。
当不需要声明内部的私有属性的时候,他们的功能是相同的。
需要记住的是factor需要直接返回一个对象,而service直接返回函数就可以了。
第六步:使用的时候要在controller控制器中声明这个服务cache,如
'use strict'; angular.module('app').controller('positionCtrl',['$q','$http','$state','$scope','cache',function ($q,$http,$state,$scope,cache) { cache.put('to','day');//存入这个值 cache.remove('to'); //删除}]);
以上就是用AngularJS的实现自定义服务的详细内容,更多请关注其它相关文章!
上一篇: php 常用的系统函数
下一篇: swfupload 上传失败求解解决思路
推荐阅读
-
微信公共服务平台开发(.Net 的实现)4-------语音识别
-
Python 实现两个服务器之间文件的上传方法
-
详解用ELK来分析Nginx服务器日志的方法
-
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
-
在 Angular2 中实现自定义校验指令(确认密码)的方法
-
通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案
-
详解C#用new和override来实现抽象类的重写区别
-
基于Docker的Consul集群实现服务发现
-
ASP.net(c#)用类的思想实现插入数据到ACCESS例子
-
SQL2005CLR函数扩展-解析天气服务的实现