【问题标题】:A Yeoman generated Angular app works fine til I add ['ngResource'] and then it hangsYeoman 生成的 Angular 应用程序运行良好,直到我添加 ['ngResource'] 然后它挂起
【发布时间】:2013-04-23 12:09:03
【问题描述】:

我使用“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; 返回 { 一些方法:函数(){ 返回富; } }; });

【问题讨论】:

  • 您确定在您的网页中添加了 angular-resources.js 文件(如 index.html)吗?
  • 是的,它在那里,谢谢。事实上,我们的一项实验是将其取出(出现预期错误)以验证我们是否正确地请求它。
  • 又一个问题,你为什么要这样使用ngResource?我认为它应该与restfull服务一起使用。见docs.angularjs.org/tutorial/step_11
  • 我们正在编写与您提到的页面中的 services.js 非常相似的代码......但是挂起......所以我们备份并尝试进行较小的更改。知道系统为什么/在哪里可能会挂在我们身上吗?
  • 您粘贴的代码没有问题:plnkr.co/edit/Y3tborn8BDADOPaEQXb4?p=preview

标签: angularjs yeoman


【解决方案1】:

从 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 章中的“加载和依赖项”)。事后才有意义(我想所有事情都可以)..但是错误消息和/或更新的文档会很棒。

【讨论】:

  • 你最终做了什么来修复它?
【解决方案2】:

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

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

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

进入这个:

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

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

【讨论】:

    【解决方案3】:

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

    angular.module('a3App', ['ngResource', 'another.dependency']).config()

    angular.module('a3App').factory('factoryName',function)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 2020-03-05
      • 2014-02-07
      • 2018-06-19
      • 2020-03-01
      相关资源
      最近更新 更多