問題タブ [angularjs-resource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
9511 参照

angularjs - AngularJS リソース ($resource) のコンストラクターを拡張するにはどうすればよいですか?

を使用して定義されたモデルがあり、$resource正常にロードされています。

ロードされた各インスタンスは、約束どおり、私が定義したクラスのインスタンスです。

(以下の例は、Angular ドキュメントからのものです。その中で、User.getであるオブジェクトが生成されますinstanceof User。)

ただし、各ユーザーが次のように接続されていると想像してください。

オブジェクトPreferenceに価値のあるメソッドを追加するファクトリを定義しました。Preferenceしかし、 User が読み込まれるとき、それらは当然 s でpreferencesはありません。Preference

私はこれを試みました:

しかし、それは効果がなく、何も記録しません。

Users'preferences配列の各項目を のインスタンスにするにはどうすればよいPreferenceですか?

0 投票する
0 に答える
316 参照

angularjs - 単一の AngularJS リソースから複数の CRUD 可能なオブジェクトを取得する

AngularJS からデータベース エントリのグループを要求するにはどうすればよいですか?これにより、個々のオブジェクト$resourceを変更できるようになりますか?$save()

データをフェッチする次のコードがあります。

私がやりたいことは、次のようなものです:

これにより、UI を更新し (変数ng-classを監視していdateます)、1 回の呼び出しでデータベースに保存できます。私はこれを行うことができますか?

0 投票する
1 に答える
1619 参照

ajax - Angularjs、$resource:挿入されたオブジェクトを取得するには?

挿入が完了した直後に、挿入されたオブジェクトを取得する必要があります。しかし、これは Angularjs の $resource の問題です。

サーバーの応答:

new_queryコンソールに出力:

new_query.id, new_query.queryコンソールに出力:

挿入されたテキストの代わりに、ある種のハッシュがあります。ところで、これは何のハッシュですか?

テンプレートでは、ミリ秒のビット anew_queryはハッシュであり、$get完了 (成功) した後、new_queryテキストが挿入されます。成功した直後に挿入されたテキストを取得する方法は?$get

0 投票する
1 に答える
6617 参照

angularjs - パラメータ名が変更されると、PUT を使用した angularjs $resource の更新が失敗する

ここでの理解またはコードに何かが欠けています...

カテゴリを一覧表示/追加/編集/削除するための非常に基本的な CRUD アプリがあり、テーブルの主キーを「id」として定義すると正常に動作しますが、データベース列の名前を「categoryId」に変更すると、 PUT url にキー値が含まれておらず、処理されていないパスの 404 エラーが発生します...

スタック:

IIS 7.5 と RESTful サービス用の Slim PHP

もちろん、名前が変更されたコードには他にも多くの場所がありますが、私が見ている効果は ngResource に関連しているようです。

最初の方法は、機能する URL を生成します...

2番目はこれを生成します...

パスの形式が正しくないため、404 エラーが発生します。

名前を変更した属性を URL で使用するために必要な別のパラメーター (またはディレクティブなど) はありますか?

0 投票する
3 に答える
18885 参照

angularjs - CORS を使用して別のドメインからデータをプルするように Angular $resource (ngResource) を構成する方法

CORS を使用して $resource を使用してリソースをセットアップし、データを要求できるようにしたいと考えています。私は CORS を $http で動作させていますが、同じ手法は $resource には適用されません。

services.js ファイルで phonecatServices サービスをハッキングして、CORS を使用するように Angular チュートリアルの最後のステップを変更しました。

$http.defaults.useXDomain = true; を使用するこの例を見つけました。$http.defaults.headers.common['X-Requested-With']; 行を削除して、CORS を使用してデータを要求する角度を取得しますが、試してみると $resource.defaults.useXDomain = true; になります。エラーが表示されます:「未定義のプロパティ 'useXDomain' を設定できません」。

$resource にはこのプロパティがないと思われるので、私の質問は、CORS を使用してクロスドメイン リソース リクエストを行うように $resource を構成するにはどうすればよいかということです。

これが私のコードです:

リクエストを作成しようとすると、次のエラーが表示されます: Object #<Resource> has no method 'push'

編集

$http の設定を試みましたが、ほとんどの場合は機能しますが、リソース クエリが呼び出されると、この場合は Phone.get(phoneId); になります。これは上記のエラーをスローするようです。

エラーの原因と思われる呼び出しコード (controllers.js step 11 angular tutorialから):

上記のメソッドの内部を削除すると、コードは (Web サイトの画像を取得せずに) 正常に実行されますが、なぜこれが機能しないのかわかりません。CORS を使用するように $http サービスを設定したので、明らかに $resource に渡す必要があります。

誰でもそれに光を当てることができますか?(動作するサンプルコードは大歓迎です)。

編集:13/08/13

この質問にアクセスした人なら誰でも知っているように、以下の回答はどれも実際には質問に答えていません.

編集: 06/09/13

現在、このプロジェクトを調査していますが、私が探しているものはすべて許可されているようです: https://github.com/jpillora/xdomain

0 投票する
2 に答える
3191 参照

angularjs - AngularJS ngResource 削除イベント

ユーザーがリソースを操作するたびに、リソースのリストを最新の状態に保とうとしています。AngularJS ngResource を使用して、最初にそのqueryメソッドを使用してリストを取得します。各リソースには$remove(または$delete) メソッドがありますよね? ただし、起動されたときに、リソースは から返されるリストから削除されませんquery

これは多くのことを求めていますが、私はそれが私のためにすべてをやってくれることをほとんど望んでいました. それを保存してください、どうすればこれを達成できますか。リソース自体が何らかのイベントを発行しますか? 私ができる削除されたプロパティはあります$watchか?$removeリソースがリストからスプライスできるように、リソースが 'd' であることをどのように知ることができますか?

ありがとう。

0 投票する
1 に答える
1098 参照

angularjs - angular ng-resourceの単体テスト

こんにちは、現在、カルマとジャスミンを使用した単体テストをセットアップしています。そして、ng-resource を完全にテストするのに苦労しています。scope.clients.query() を実行すると、リクエストが実行されます。しかし、単体テストでこれを実行しようとすると、これは失敗します。

誰かが同様の問題を抱えていて、誰かがこの問題を解決する方法を知っていますか?

例えば

0 投票する
3 に答える
60175 参照

angularjs - AngularJS で $resource キャッシュを更新 / 無効化する方法

次のように、デフォルトの $http キャッシュ実装を使用する単純な User $resource があります。

これは非常にうまく機能します。つまり、サーバーはアプリケーションで 1 回だけ呼び出され、値はキャッシュから取得されます。

しかし、特定の操作の後にサーバーから値を更新する必要があります。それを行う簡単な方法はありますか?

ありがとう。

0 投票する
4 に答える
22887 参照

javascript - Angular - カスタム メソッドで $resource サブオブジェクトを拡張する

ほとんどの場合、<custom-resource>.query()メソッドの結果は配列であり、次の (ファクトリ) コードを使用していくつかのメソッド (ビジネス ロジック) で簡単に拡張できます。

これは、次のように ng-repeat / ng-class で使用するのに最適です。

私の問題は、すべてのリスト応答が、実際のリストに加えて、いくつかのメタ プロパティ (並べ替え情報など) を持つオブジェクトにカプセル化されているため、返される最終的なオブジェクトは次のようになることです。

さて、ng-repeat/ng-class で以前と同じものを作るにはどうすればよいでしょうか?

「foo」メソッドはオブジェクトではなくオブジェクトで定義されているため、前のメソッドは機能しresponseDataませんitem

リスト上のオブジェクトをインスタンス化するために使用される基本クラスを直接拡張する方法はありますか?

ありがとう!