Angular JS 自定义服务

Angular JS 自定义服务 

定义服务的方式有如下几种:

1 变量方式(value Recipe)
    2 工厂方式(factory Recipe)
    3 服务方式(service Recipe)
    4 供应者方式(provider Recipe)
    5 常量方式(Constant Recipe)
    6 特殊目的对象(Special Purpose Objects)

使用value来定义

var mainApp = angular.module("mainApp",[]);
    
    mainApp.controller(‘MyController‘, [‘clientId‘, function MyController(clientId) { 
    this.clientId = clientId; 
    }]);

使用factory方法

    mainApp.factory("myService",[function(){
                return {
                    name:"abc"
                }
            }]);
            
     注:工厂方式 能够创建任何类型的服务,对象常量,方法,甚至一个自定义类型的实例。

使用service方法

app.service(‘myService‘,function(){
        this.name = ‘abc‘;
        this.value = ‘value‘;
    });

使用provider来定义

mainApp.provider(‘myService‘, [function() {
        return {
                name:"abc"
            }
    }]);

注意:factory和service能注入内置服务,而provider是不能注入内置服务的

总结:

1 注入器通过使用 recipes 来创建两种类型的对象:服务和特殊目的对象。
    2 一共有五种类型的 recipe 用于定义如何创建对象:变量、工厂、服务、供应者和常量。
    3 工厂和服务是最常用的方式。两者仅有的不同是服务方式对于自定义类型对象效果更好,而工厂方式可以提供 JavaScript 基元和方法。
    4 供应者方式是核心方式,所有其它方式都是它的语法糖。
    5 供应者是最复杂的方式类型。除非你正在构建一段需要全局配置的可重用代码,否则不要使用它。
    6 所有特殊目的对象都通过工厂方式来定义,除了控制器。

时间: 2024-10-02 16:45:01

Angular JS 自定义服务的相关文章

angular js $http服务使用

$http可用来获取web服务上的数据,或者通过post请求传json上服务器 主要用到$http.get()和post()两个方法. $http.get()通过GET方式向服务器获取数据.主要使用方法: 1.第一种写法 $http.get(url) .seccess(function(response) { //TODO }) .error(function(exception) { //TODO }); 2.第二种写法 $http( { method:'GET', url:'/api/use

爱创课堂2016年Angular.JS前端开发从入门到上手企业开发视频教程(完整版)

资源网盘: 2016年Angular.JS从入门到上手企业开发 链接: https://pan.baidu.com/s/1dF2vBzV 密码: 3hbk 免费学习网站地址:http://www.icketang.com/ AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事.AngularJS试图成为WEB应用中的一种客户端的解决

14-Angular供应商和自定义服务

在Angular有供应商的概念,可配置Angular的一些服务. <div ng-controller="Aaa"> <!-- {{name}} --> @@[email protected]@ </div> <script type="text/javascript"> var m1 = angular.module('myApp',[]); m1.config(['$interpolateProvider',fun

Angular JS 学习之服务(Service)

1.AngularJS中,可以创建自己的服务,或使用内建服务: 2.在AngularJS中,服务是一个函数或对象,可在你的AngularJS应用中使用: AngularJS内建了30多个服务:有个$location服务,它可以返回当前页面的URL: var app=angular.module('myApp',[]); app.controller('customersCtrl',function($scope,$location){ $scope.myUrl=$location.absUrl(

activiti自定义流程之整合(二):使用angular js整合ueditor创建表单

注:整体环境搭建:activiti自定义流程之整合(一):整体环境配置 基础环境搭建完毕,接下来就该正式着手代码编写了,在说代码之前,我觉得有必要先说明一下activit自定义流程的操作. 抛开自定义的表单不谈,通过之前的了解,我们知道一个新的流程开始,是在启动流程实例(processIntence)的时候,而流程实例依赖于流程定义(processDefinition),流程定义又依赖于流程模型(model). 我们用到的自定义表单需要在创建模型,画模型图的时候就指定表单的名称formKey,需

angular中自定义依赖注入的方法和decorator修饰

自定义依赖注入的方法 1.factory('name',function () { return function(){ } }); 2.provider('name',function(){ this.$get=function(){ return function(){ } }; }); 3.service('name',function(){ this.n=v; }); 4.constant('name','value'); 5value('name','value'); 依赖的继承  

Angular JS知识小总结

1.什么是Angular JS? AngularJS 是一个为动态WEB应用设计的 JavaScript结构框架. 2.Angular JS的用处? --它是为了克服HTML在构建应用上的不足而设计; --适用于CRUD应用,是为了消除页面上的DOM操作而生.它的核心理念是借鉴了MVC框架,但是它其实更接近于MVVM.viemmodel是一个原生的javascript对象,angularJS把view和model加到viemmodel上,从而实现数据的绑定.而且这种绑定是双向的,即view变化

自定义服务 factory 和 service

1.使用factory 方法 必须有返回值 即return ,factory只是调用普通的function,可以返回任何东西. HTML 代码 <body ng-app="myApp"> <div ng-controller="myCtrl"> <ul> <li>{{data.name}}</li> <li>{{data.age}}</li> <li>{{data.pho

AngularJs练习Demo14自定义服务

@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Provider</title> <script type="text/javascript" src="~/Scripts/angular