問題タブ [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 投票する
2 に答える
6822 参照

angularjs - ネストされたリソースを解決する ngResource

ngResource 応答でネストされたリソースを解決するためのオプションは何ですか?

ngResource でネストされたリソースのエンドポイントを解決することに関するいくつかの関連する質問がありましたが、この質問は、REST 応答にクエリ対象のコレクションにネストされた 2 番目のリソースが含まれている場合、特に 1 対 1 のマッピングがない場合に関するものです。たとえばpets/<id>/owner、独自のリソースとして。

2 つのリソースがあるPetsとしOwnersます。

/ペットを取得:

開発者として、Ownerリソース全体を照会したい場合もあれば、リソースを照会したい場合もあり、その属性をリソース インスタンスPetに自動的に解決したい場合もあります。owner

これは私の現在の解決策です:

ここでの問題はたくさんあります。1 つには、誠実さがあります。この実装により、同じリソースの複数のインスタンスが可能になると思います。あとは実用性。また、追跡する追加の属性もあります (モデルを保存できるようにする場合は、単に;の代わりにownerおよび)。getOwner()ownersetOwner

代替ソリューションを に構築することもできますtransformResponseが、ネストされたマッピングを持つすべてのリソースにそれを含めるのはハックのように思えます。

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

javascript - angular リソースがアクション固有の URL を無視するのはなぜですか?

次の角度コードがあります。

マークアップは次のようになります。

ボタンをクリックすると、サーバーに対して POST を実行しようとしますが、アクション固有の URL ではなく、元の URL に対して実行されます。リクエストの URL は次のようになります。

なぜ POST しようとしているの/postですか?また、理由はありid=undefinedますか?他の例では?id=blah、ID が指定されていない場合、リクエストに含まれていないように見えます。前もって感謝します。

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

angularjs - $resource カスタム アクションは、スコープ指定された変数をサーバー レスポンスに置き換えます

カスタム アクションで $resource を使用しています。

User オブジェクトを問題なく取得できます。問題は、カスタム アクションを呼び出すと、ローカル スコープの User オブジェクトの値がサーバーの応答に置き換えられることです。サーバーの応答が{ success : true }であるため、これは問題です。これにより、ローカル オブジェクトのすべてのフィールド値が失われます。

RESTful の哲学では、たとえば、リソースへの POST によってそのリソースが (サーバー上で) 更新され、更新されたリソースのコピーが返されると述べられていることを私は知っています。これが AngularJS $resouce.$save の仕組みであることを理解しています。しかし、それは本当にカスタム アクションに適用する必要があるのでしょうか?

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

php - Angular リソース サービスの $save 関数を使用する適切な方法

angular $save 関数を使用しようとして、角度リソースを使用しています。

デフォルトでは、$save はモデルをサービス URL に送り返します。ただし、モデルがサービスに返されることを期待しているようです (これを行わないと、モデルは空になります)。メッセージとエラーをコントローラーに返す最良の方法は何だろうと思っていました。

私の解決策は、処理中に発生したエラーを格納するエラー配列と、返すモデルを格納するフィールドを持つ新しいクラスを PHP で作成することでした。その後、コールバック関数で送り返されて処理されます。

これらの行は次のとおりです。to を$scope.user=User.get({id:data.data.UserName});割り当てただけでは、ユーザーはサービスを使用しなくなり、再度使用しようとするとエラーが発生するため、使用する必要がありました。$scope.userdata.dataApplyChanges

それで、これをもっと目立たないようにする方法はありますか?そのままでは、モデルを取得するために追加のコールバックを行う必要があります。エラーが発生した場合にのみエラーを送信し、モデルを取得するためのコールバックを追加する必要がありますか? より良い方法はありますか?

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

javascript - angular で Service によって返された JSON を反復処理する

コントローラーの $resource によって、反復処理を繰り返して id で検索し、以下に示すタイプの JSON オブジェクトから id に対応する他の値を返そうとしています。この場合、どこが間違っているのか理解できませんか? 助けてください!

これがコントローラー

JSON のタイプは次のとおりです。