問題タブ [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.
angularjs - AngularJS リソース ($resource) のコンストラクターを拡張するにはどうすればよいですか?
を使用して定義されたモデルがあり、$resource
正常にロードされています。
ロードされた各インスタンスは、約束どおり、私が定義したクラスのインスタンスです。
(以下の例は、Angular ドキュメントからのものです。その中で、User.get
であるオブジェクトが生成されますinstanceof User
。)
ただし、各ユーザーが次のように接続されていると想像してください。
オブジェクトPreference
に価値のあるメソッドを追加するファクトリを定義しました。Preference
しかし、 User が読み込まれるとき、それらは当然 s でpreferences
はありません。Preference
私はこれを試みました:
しかし、それは効果がなく、何も記録しません。
User
s'preferences
配列の各項目を のインスタンスにするにはどうすればよいPreference
ですか?
angularjs - 単一の AngularJS リソースから複数の CRUD 可能なオブジェクトを取得する
AngularJS からデータベース エントリのグループを要求するにはどうすればよいですか?これにより、個々のオブジェクト$resource
を変更できるようになりますか?$save()
データをフェッチする次のコードがあります。
私がやりたいことは、次のようなものです:
これにより、UI を更新し (変数ng-class
を監視していdate
ます)、1 回の呼び出しでデータベースに保存できます。私はこれを行うことができますか?
ajax - Angularjs、$resource:挿入されたオブジェクトを取得するには?
挿入が完了した直後に、挿入されたオブジェクトを取得する必要があります。しかし、これは Angularjs の $resource の問題です。
サーバーの応答:
new_query
コンソールに出力:
new_query.id, new_query.query
コンソールに出力:
挿入されたテキストの代わりに、ある種のハッシュがあります。ところで、これは何のハッシュですか?
テンプレートでは、ミリ秒のビット anew_query
はハッシュであり、$get
完了 (成功) した後、new_query
テキストが挿入されます。成功した直後に挿入されたテキストを取得する方法は?$get
angularjs - パラメータ名が変更されると、PUT を使用した angularjs $resource の更新が失敗する
ここでの理解またはコードに何かが欠けています...
カテゴリを一覧表示/追加/編集/削除するための非常に基本的な CRUD アプリがあり、テーブルの主キーを「id」として定義すると正常に動作しますが、データベース列の名前を「categoryId」に変更すると、 PUT url にキー値が含まれておらず、処理されていないパスの 404 エラーが発生します...
スタック:
IIS 7.5 と RESTful サービス用の Slim PHP
もちろん、名前が変更されたコードには他にも多くの場所がありますが、私が見ている効果は ngResource に関連しているようです。
最初の方法は、機能する URL を生成します...
2番目はこれを生成します...
パスの形式が正しくないため、404 エラーが発生します。
名前を変更した属性を URL で使用するために必要な別のパラメーター (またはディレクティブなど) はありますか?
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
angularjs - AngularJS ngResource 削除イベント
ユーザーがリソースを操作するたびに、リソースのリストを最新の状態に保とうとしています。AngularJS ngResource を使用して、最初にそのquery
メソッドを使用してリストを取得します。各リソースには$remove
(または$delete
) メソッドがありますよね? ただし、起動されたときに、リソースは から返されるリストから削除されませんquery
。
これは多くのことを求めていますが、私はそれが私のためにすべてをやってくれることをほとんど望んでいました. それを保存してください、どうすればこれを達成できますか。リソース自体が何らかのイベントを発行しますか? 私ができる削除されたプロパティはあります$watch
か?$remove
リソースがリストからスプライスできるように、リソースが 'd' であることをどのように知ることができますか?
ありがとう。
angularjs - angular ng-resourceの単体テスト
こんにちは、現在、カルマとジャスミンを使用した単体テストをセットアップしています。そして、ng-resource を完全にテストするのに苦労しています。scope.clients.query() を実行すると、リクエストが実行されます。しかし、単体テストでこれを実行しようとすると、これは失敗します。
誰かが同様の問題を抱えていて、誰かがこの問題を解決する方法を知っていますか?
例えば
angularjs - AngularJS で $resource キャッシュを更新 / 無効化する方法
次のように、デフォルトの $http キャッシュ実装を使用する単純な User $resource があります。
これは非常にうまく機能します。つまり、サーバーはアプリケーションで 1 回だけ呼び出され、値はキャッシュから取得されます。
しかし、特定の操作の後にサーバーから値を更新する必要があります。それを行う簡単な方法はありますか?
ありがとう。
javascript - Angular - カスタム メソッドで $resource サブオブジェクトを拡張する
ほとんどの場合、<custom-resource>.query()
メソッドの結果は配列であり、次の (ファクトリ) コードを使用していくつかのメソッド (ビジネス ロジック) で簡単に拡張できます。
これは、次のように ng-repeat / ng-class で使用するのに最適です。
私の問題は、すべてのリスト応答が、実際のリストに加えて、いくつかのメタ プロパティ (並べ替え情報など) を持つオブジェクトにカプセル化されているため、返される最終的なオブジェクトは次のようになることです。
さて、ng-repeat/ng-class で以前と同じものを作るにはどうすればよいでしょうか?
「foo」メソッドはオブジェクトではなくオブジェクトで定義されているため、前のメソッドは機能しresponseData
ませんitem
リスト上のオブジェクトをインスタンス化するために使用される基本クラスを直接拡張する方法はありますか?
ありがとう!