meanjs中的服务

来源:互联网 发布:棉花数据 编辑:程序博客网 时间:2024/05/01 07:46

使用服务的方法

(1)modules\core\client\services

menus.client.service.js 定义了Menus服务,以供之后调用:

angular.module('core').service('Menus', [
socket.io.client.service.js定义了Socket服务,
angular.module('core').service('Socket', ['Authentication', '$state', '$timeout',
使用工厂的方法
modules\articles\client\services
articles.client.service.js中定义了Articles服务
angular.module('articles').factory('Articles', ['$resource',

均定义在相应模块客户端代码的service文件夹内, AngularJS 中,服务是一个函数对象,可在你的 AngularJS 应用中使用,有两种方法来创建服务:工厂和服务
$resource,使用它可以非常方便的同支持restful的服务单进行数据交互。
function LibrariesService($resource) {  return $resource('api/libraries/:libraryId', {    libraryId: '@_id'  }, {    update: {      method: 'PUT'    }  });}

$resource函数需要一个必填参数URL,代表了可以访问的资源,以及两个可选参数:默认参数和额外的你想在资源上配置的操作。

第一个参数:URL是带参数的(注意:参数:libraryId代表了会用libraryId参数来替换),如果没有传递参数,那么它会被空字符串替换。

第二个参数:是传递默认的参数到每个请求中。libraryId参数是”@_id”。这表示,如果我使用了一个来自服务器端的返回值对象,那么在它上面调用任何方法(比如$save),那么libraryId字段会从对象的_id属性中取值。

第三个参数:是其他我们想暴露自定义资源上的方法。

$resource返回的对象包含了同后端服务进行交互的方法,我们可以把这个返回的对象理解成同RESTFul的后端服务进行交互的接口。

该对象包含两个get类型的方法已经三个非get类型的方法。

get({libraryId:'123'}, successFn, errorFn);

该方法向url发送一个get请求,并期望一个json类型的响应。这里会向/api/libraries/123发送一个请求,successFn处理请求成功响应,errorFn处理错误。

query(params, successFn, errorFn)

同get()方法使用类似,一般用来请求多条数据。


0 0
原创粉丝点击