5

我使用“yo angular”创建了一个 AngularJS 应用程序,运行“grunt server --force”并进入“Allo,Allo”成功屏幕。

当我添加如下所示的 ['ngResource'] 时,它似乎挂起......或者至少浏览器中不再显示任何内容。

我们尝试将 $resource 作为参数添加到函数中。即尝试实际使用资源但没有运气。我在 Web 控制台中看不到任何错误。我们验证了 angular-resource.js 列在 components/angular-resources 中。

这感觉像是一个愚蠢的新手错误,但它让我们陷入困境。

'使用严格';
angular.module('a3App', ['ngResource'])
  .factory('myService', function () {
  变量 foo = 42;
  返回 {
    一些方法:函数(){
       返回富;
    }
   };
});
4

3 回答 3

6

布赖恩,我也经历过同样的事情。每当我加入['ngResource']工厂时,我的 AngJS 应用程序都会安静地挂起。

我通过更改此代码解决了这个问题:

angular.module('a3App', ['ngResource']).factory('myService', function($resource) {
...

进入这个:

angular.module('a3App').factory('myService', function($resource) {
...

而且我的应用程序在使用 json rest api 时仍然可以正常工作。

于 2013-06-06T04:55:30.220 回答
6

从 Green & Seshadri 的 AngularJS 书中得到了答案(或者至少是理解)。

angular.module 语句有两种工作模式:配置和运行。'ngResource' 语句适用于配置:

angular.module('a3App', ['ngResource']).config(function ($routeProvider) {
  $routeProvider
    。什么时候('/', {
     templateUrl: 'views/main.html',
     控制器:'MainCtrl'
   })
   。否则({
     重定向到:'/'
   });
});

作品

但是将相同的语句放在 angular.module(...).factory 语句中,它会失败/安静地挂起(因为 .factory 是运行而不是配置语句):

angular.module('a3App', ['ngResource']).factory('myService', function($resource) {
...

这在 AngularJS 书籍的 Kindle 版本的位置 6456 中进行了解释(第 7 章中的“加载和依赖项”)。事后才有意义(我想所有事情都可以)..但是错误消息和/或更新的文档会很棒。

于 2013-04-29T19:41:23.363 回答
0

定义模块及其依赖项与在模块中创建新组件之间的区别。

angular.module('a3App', ['ngResource', 'another.dependency']).config() <-- 将与 run(), config() 等初始函数一起使用,但如果你用它来创建一个指令/控制器/服务/等。

angular.module('a3App').factory('factoryName',function) <--- 将用于创建组件,不再需要依赖项,它们已经与模块一起声明。

于 2014-01-30T10:29:17.403 回答