ng自定义服务(利用factory)
ng中我们可以自己定义自己的服务,服务中是一些使用重复率较高的方法。因此有效的使用服务可以提高开发速度。
ng中定义服务的方法有多种,service,factory,provide,在此我只介绍最长用的一种,利用factory
factory会以返回一个对象的形式
app.factory("服务的名字",[function(){
return{
getName:function(){
/........./
}
}
}]);
demo:
services/zct_get_my_right.js
define(['app','jquery'], function (myapp) {
myapp.factory('get_my_right', [function () {
console.log("get_my_right");
var get_my_right={};//自己定义一个对象
//得到用户的权限
get_my_right.get_right=function(obj){
return(JSON.parse(JSON.parse(obj)));
},
get_my_right=function(){
....
return ......
}
return get_my_right;//返回一个对象
}])
})
使用:使用服务之前需引入
// 创意界面的权限控制器
define(["app",'services/zct_get_my_right'], function (myapp) {
myapp.controller('ideas_first_ctrl',
['$scope','$rootScope','$state','get_my_right', function (s,rs,$state,getRight) {
var my_right=getRight.get_right(localStorage.permission);
console.log(my_right);
if(my_right.ideas.view){//说明此用户有查看全部创意的权限的
// $state.go("home.ideas.allIdeas",{user_right:JSON.stringify(idea_right)});
s.can_see_all_idea=true;
$state.go("home.ideas.allIdeas");
}
else{//此用户没有查看全部创意的权限
//$state.go("home.ideas.myIdeas",{user_right:JSON.stringify(idea_right)});
s.can_see_all_idea=false;
$state.go("home.ideas.myIdeas");
}
}])
});
ng自定义服务(利用factory)的更多相关文章
- ng 自定义服务
服务的本质是对象. 创建服务的常见方式:factory(返回对象) service (方法.属性)constant(常量服务) value(变量服务) 1.factoryapp.factory('服务 ...
- Angular JS 学习笔记(自定义服务:factory,Promise 模式异步请求查询:$http,过滤器用法filter,指令:directive)
刚学没多久,作了一个小项目APP,微信企业号开发与微信服务号的开发,使用的是AngularJS开发,目前项目1.0版本已经完结,但是项目纯粹为了赶工,并没有发挥AngularJS的最大作用,这几天项目 ...
- Angular factory自定义服务
<!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...
- 深究AngularJS——自定义服务详解(factory、service、provider)
前言 3种创建自定义服务的方式. Factory Service Provider 大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想.所以我们得了解下分 ...
- angularjs 自定义服务
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- angularJs 自定义服务 provide 与 factory 的区别
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- angular factory Services provider 自定义服务 工厂
转载于 作者:海底苍鹰地址:http://blog.51yip.com/jsjquery/1602.html 1.在app.js 中声明了模块的依赖 var phonecatApp = angular ...
- angularjs factory,service,provider 自定义服务的不同
angularjs框架学了有一段时间了,感觉很好用.可以把angularjs的app理解成php的class,controller是控制器,而内置服务和自定义服务就可以理解成models了.angul ...
- 【AngularJS中的自定义服务service VS factory VS provider】---它们的区别,你知道么?
在介绍AngularJS自定义服务之前,我们先来了解一下AngularJS~ 学过HTML的人都知道,HTML是一门很好的伪静态文本展示设计的声明式语言,但是,要构建WEB应用的话它就显得乏力了. 而 ...
随机推荐
- Ubuntu下搭建FTP服务器
Ubuntu下搭建FTP服务器 我装的服务器系统是Ubuntu 12.04 LTS,FTP软件当然是选择大名鼎鼎的vsftpd(very secure FTP daemon), 用系统自带的FTP还好 ...
- 【WC2015】混淆与破解 (Goldreich-Levin 算法)
这个嘛= =直接贴VFK的题解就行了吧,感觉自己还是差别人太多 http://vfleaking.blog.uoj.ac/blog/104 讲得挺明白了的说,但还是挺难理解的说,中间实现部分简直不要太 ...
- 2013~2014年度 NOIP~GDOI总结
滚回去撸一年中考撸完之后就迎来了NOIP2013(话说初赛差点被坑了有木有= =)想想当年10月还是那样的天真的去了广州,结果就被虐成翔的回来了= =只做了三道签到题的渣渣就是弱= =DAY1T2死活 ...
- Keepalived安装与配置
下载并解压Keepalived安装包到两台nginx所在的服务器 192.168.200.1 192.168.200.2 执行编译安装(安装目录设置为 /usr/local/kee ...
- 每天一个Linux命令(16)--which命令
把昨天的,留给昨天:今日,你将重新开始. 好的,在第一个阶段我们学习了 文件目录的操作命令: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ls cd pwd mkdir ...
- JavaScript的for循环中嵌套一个点击事件为何点击一次弹出多个相同的值
先看下面一段代码: for(var i=0; i<10; i++) { $('#ul').bind('click', function() { alert(i) }) } 对于这段代码,当点击I ...
- vs2017 .net core WebApp 去掉ApplicationInsights
vs2017新建的 .net core WebApp都内置了这个遥测中间件进去,嗯,用AZURE的话是不错能无缝支持.但不用AZURE就没什么用了. 为了不占地方和提高一点点初始启动的速度,对新建的项 ...
- 警惕!MySQL成数据勒索新目标
据最新报道显示,继MongoDB和Elasticsearch之后,MySQL成为下个数据勒索目标,从2月12日凌晨开始,已有成百上千个开放在公网的MySQL数据库被劫持,删除了数据库中的存储数据,攻击 ...
- Vue.js组件之同级之间的通信
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Strtus2 S2-045漏洞
S2-045漏洞已经爆发几天了,但还很多网址都存在此漏洞,很多金融类网站也收到了保护费通知...唉,收保护费少,报警无效!只能酌情处理了!做黑产的,还是少做为秒,常在河边站哪有不湿鞋,劝各位早日金盆洗 ...