2014-04-01 19 views
0

对于AngularJS和NodeJS我很新。我正在尝试使用MEAN堆栈开发一个应用程序。我只是在mean.io样板文件中查看示例代码。我参考示例应用程序创建了自己的应用程序。我试图提交AngularJS前端,并期待它调用NodeJs服务器端,但它不工作。我认为service.js搞乱了一些东西。这里是示例应用程序的服务代码。任何人都可以解释这段代码在Angular客户端和NodeJS服务器端的作用。在AngularJS中解释service.js

'use strict'; 

//Articles service used for articles REST endpoint 
angular.module('mean.articles').factory('Articles', ['$resource', function($resource) { 
    return $resource('articles/:articleId', { 
     articleId: '@_id' 
    }, { 
     update: { 
      method: 'PUT' 
     } 
    }); 
}]); 
+0

你检查了吗? http://docs.angularjs.org/guide/services –

+0

我刚刚更新了这个问题.... – iJade

回答

0

它创建了一个名为Articles的角度新工厂。 Articles工厂注入了$ resource服务。 $ resource对象用于设置用于与RESTful服务通信的对象,在这种情况下,“articles /:articleId”articleId将从使用此$资源查询返回的资源对象的_id中提取。当您打电话更新其中一个资源时,它将使用PUT HTTP动词。

它本身只是定义了工厂,但实际上并没有进行任何调用,您需要注入并在某处使用它像Articles.query();

从文档

如果参数值与@前缀,则该 参数的值从数据对象中提取(用于有用的非GET 操作)。

+0

因此,这是否是AngularJS和NodeJS api之间的链接? – iJade

+1

这样想 - 在你的代码中,你定义了一种调用RESTful服务的方式,但是你还没有使用该服务。这相当于你定义了一个函数,但还没有执行它... – callmekatootie

+0

as callmekatootie说这基本上是配置来创建一个角度的新服务,以后可以使用,但由于它没有被使用,它不会显示任何呼叫本身。下一步是将文章注入到另一个服务或控制器中,并调用Articles.query()来获取文章,返回的对象将具有保存或删除对象的方法。 – shaunhusain