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 () {
  var foo = 42;
  戻る {
    someMethod: 関数() {
       フーを返します。
    }
   };
});
4

3 に答える 3

6

Green & Seshadri の AngularJS book から答え (または少なくとも理解) を得ました。

angular.module ステートメントは、構成と実行の 2 つのモードで機能します。「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) {
...

これについては、Kindle 版の AngularJS ブック (第 7 章の「読み込みと依存関係」) の場所 6456 で説明されています。事後的には理にかなっています (私はすべてのことがそうすると思います)..しかし、エラーメッセージや更新されたドキュメントは素晴らしいでしょう.

于 2013-04-29T19:41:23.363 に答える
6

ブライアン、私も同じことを経験しました。ファクトリにインクルードするたびに、私の AngJS アプリは静かにハングします['ngResource']

このコードを変更して、この問題を修正しました。

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

これに:

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

そして、私のアプリケーションは、JSON レスト API を使用しても問題なく動作しました。

于 2013-06-06T04:55:30.220 に答える
0

モジュールとその依存関係を定義することと、モジュールに新しいコンポーネントを作成することの違い。

angular.module('a3App', ['ngResource', 'another.dependency']).config() <-- run()、config() などの初期関数で動作しますが、それを使用してディレクティブ/コントローラー/サービス/など。

angular.module('a3App').factory('factoryName',function) <--- コンポーネントを作成するために機能します。依存関係は再度必要ありません。モジュールで既に宣言されています。

于 2014-01-30T10:29:17.403 に答える