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)的更多相关文章

  1. ng 自定义服务

    服务的本质是对象. 创建服务的常见方式:factory(返回对象) service (方法.属性)constant(常量服务) value(变量服务) 1.factoryapp.factory('服务 ...

  2. Angular JS 学习笔记(自定义服务:factory,Promise 模式异步请求查询:$http,过滤器用法filter,指令:directive)

    刚学没多久,作了一个小项目APP,微信企业号开发与微信服务号的开发,使用的是AngularJS开发,目前项目1.0版本已经完结,但是项目纯粹为了赶工,并没有发挥AngularJS的最大作用,这几天项目 ...

  3. Angular factory自定义服务

    <!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...

  4. 深究AngularJS——自定义服务详解(factory、service、provider)

    前言 3种创建自定义服务的方式.  Factory Service Provider 大家应该知道,AngularJS是后台人员在工作之余发明的,他主要应用了后台早就存在的分层思想.所以我们得了解下分 ...

  5. angularjs 自定义服务

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  6. angularJs 自定义服务 provide 与 factory 的区别

    <!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...

  7. angular factory Services provider 自定义服务 工厂

    转载于 作者:海底苍鹰地址:http://blog.51yip.com/jsjquery/1602.html 1.在app.js 中声明了模块的依赖 var phonecatApp = angular ...

  8. angularjs factory,service,provider 自定义服务的不同

    angularjs框架学了有一段时间了,感觉很好用.可以把angularjs的app理解成php的class,controller是控制器,而内置服务和自定义服务就可以理解成models了.angul ...

  9. 【AngularJS中的自定义服务service VS factory VS provider】---它们的区别,你知道么?

    在介绍AngularJS自定义服务之前,我们先来了解一下AngularJS~ 学过HTML的人都知道,HTML是一门很好的伪静态文本展示设计的声明式语言,但是,要构建WEB应用的话它就显得乏力了. 而 ...

随机推荐

  1. Sublime Text 3 修改插件安装位置【sublime text、插件路径、Data】

    直接切入正题,在享受Sublime 插件给我们带来开发效率的同时,有些插件的文件也是很大的,但是插件默认安装的位置是AppData的目录[C:\Users\用户名\AppData\Roaming\Su ...

  2. barmanager工具栏及gridcontrol部分属性设置

    1.工具栏部分属性设置,如:右键菜单,禁止移动等   2.gridControl属性设置,如选中行颜色,禁止移动隐藏等      

  3. MongoDB【第一篇】安装

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. MongoDB 版本 mongodb-linux-x86_64-rhel70-3.4.2 3. 设置 ...

  4. WPF Prism框架下基于MVVM模式的命令、绑定、事件

    Prism框架下的自定义路由事件和命令绑定 BaseCode XAML代码: <Button x:Class="IM.UI.CommandEx.PrismCommandEx" ...

  5. Struts2之环境配置

    在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...

  6. Sleeping会话导致阻塞原理(下)

    背景 最近给客户做优化时,有几个客户都存在.SLEEPING 会话中开启了事务,导致的大量阻塞,从而产生严重的性能问题.虽然在之前的文章我分享了Sleeping会话导致阻塞原理(上) .说明了什么是S ...

  7. Python编程快速上手——让繁琐工作自动化学习笔记

    第一部分 基本语法 1.字符串不能直接和数字相加,要用str()转一下:但是可以和数字相乘,用于表示多个字符串复制:字符串不能和浮点数直接结合,字符串可以和字符串直接相加: 2.输入函数用input( ...

  8. [微信小程序-开发工具]快捷键

    1.进入快捷键  >  > 2.快捷键 1.元素面板 ↑↓:导航元素 →←:展开/折叠 Enter:编辑属性 H:隐藏元素 F2:切换编辑HTML 2.样式窗口 Tab/Shift + T ...

  9. 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)

    这是 OpenStack 实施经验分享系列的第 11 篇. 本节教大家更新 OpenStack 组件的方法.请注意,是更新(Update)而不是升级(Upgrade).更新是给组件打补丁,版本不变:而 ...

  10. cookie 详解 与 封装 实用的cookie

    在WEB前端开发中,cookie是必不可少的,网上也有很多开源的库可以使用,不过我还是想自己总结一下,做个笔记并封装一个实用的库.(1)什么是cookie? 从web 角度 cookie是用于存储信息 ...