問題タブ [angular-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 - $resourceのdeleteとremoveメソッドの違いは?
delete
とremove
メソッドはどう違いますか?どちらもDELETE
HTTP のメソッドを使用します。有力な情報が見つかりませんでした。
angularjs - AngularJS: 配列型パラメーター (チェックボックス、複数選択など) を使用して $resource 経由でリクエストを送信する
GET パラメータに一連のチェックボックス (client_status) がある場合、AngularJS で $resource ライブラリを使用して適切にシリアライズされた GET リクエストを送信しようとすると問題が発生します。
これは、現在コントローラーにあるコードです。
上記は、次の GET リクエストを送信します。
ただし、私が理解していることから、上記は正しい形式ではないようです。誰かがここで私を少し案内してもらえますか? 以下は私が期待するものです:
よろしくお願いいたします。
トーマス
angularjs - $resource update メソッドの動作がおかしい
特定の $resource の読み取り/作成/削除はすべて正常に機能しますが、編集はうまくいきません。
私のアプリ構成には次のものがあります。
これは、POST/PUT の両方で正常に機能しています。言及する価値があるかもしれません。
私の $resource 定義は次のようになります。
次に ProjectEditCtrl で:
実際に実行する$scope.projectDo()
と、PUT だけでなく、次のスクリーン キャプチャに示されている一連のリクエストが表示されます。
以外の呼び出しがあるのはなぜPUT project/1
ですか? :id
パスにno がないため、DELETE 500 が発生していることに注意してください。
更新:
ふざけて、 $resource 定義全体を次のように変更することにしました。
Project.delete
この定義を使用してテストすると、追加/削除コントローラーがそれを尊重し、およびに対して GET を使用しようとすることが確認されますProject.save
。
実行Project.update
すると、奇妙な呼び出しが少なくなったようです。以前と同じように:
- ポスト×1
- GET×2
- 削除 x2
- パット×2
update()
GET以外のすべてを強制した後、次のように表示されます。
- いいえポスト
- GET×2
- 削除x1
- パット×2
まだ混乱していますが、おそらく役立つ情報です。
更新 2 :
PUT メソッドを放棄してProject.update()
代わりに POST を使用することにしましたが、多くの不要なリクエストで同様の問題が発生します。
また、これらのリクエストはすべて同じ時点で発生することにも注意してください。つまり、いずれのリクエストも連続したものではなく、別のリクエストの完了に反応するものではありません。
更新 3 :
update
どういうわけか既存のコードを踏みにじっていないかどうかを確認する以外に、別の単語を使用してみましたProject.whaaaat()
が、同じ効果があります。
更新 4 :
さて、真実に少し近づいています。定義されていないメソッドを試しましたが、同じ動作が発生します。認識されていないメソッドを呼び出すと、定義されたすべてのメソッドを単純に起動していると思いますか?
更新 5 :
この問題は、次の 2 行の組み合わせによって引き起こされているようです。
$.param
によって返されたオブジェクトで実行すると、実際にはプロパティであるため、Project.get
すべてのメソッドが呼び出されます。Project
projectForm
プロパティのループをリビールで実行するtypeof
:
name は文字列です id は数値です $get は関数です $save は関数です $query は関数です $remove は関数です $delete は関数です $update は関数です
オブジェクトで $.param を実行し、シリアル化できないプロパティのシリアル化を防ぐ方法はありますか?
javascript - 1.1.0 から 1.1.1 へのアップグレード後に Angular JS が失敗する
ng-repeat をアップグレードすると、読み込みに非常に時間がかかり、$resource によって提供されているコンテンツなしで、より多くのコンテンツ ボックスを表示しようとします。
問題を 1.1.0 と 1.1.1 の間のアップデートに絞り込みました。変更ログを調べましたが、犯人であると思われるものは何も見つかりませんでしたが、そこにあるに違いありません。
変更ログ => https://github.com/angular/angular.js/blob/master/CHANGELOG.md#111-pathological-kerning-2012-11-26
このアプリのリポジトリ => https://github.com/brianpetro/resume
現在、私のAngularは次のようになっています:
これは、ng-repeat を使用して複数のビューで発生します。
これは AngularJS バージョン 1.1.0 です:
これは AngularJS バージョン 1.1.1 です:
angularjs - 次のようなAngularリソースのエラーコールバック
django で ng-resource を使用すると、末尾のスラッシュが常に削除されるため、問題が発生します。だから私はhttps://stackoverflow.com/users/192810/misko-heveryガイドhttps://stackoverflow.com/a/11850027に従って、独自のリソースを作成します。私のコードがエラー コールバック関数を実装する適切な方法であるかどうかを尋ねたいですか? IE: このようなサーバーからの応答 {err : "その本は既に存在します!"}
このように create メソッドを変更してもよろしいですか?
私はこのようにコントローラを変更します
angularjs - angularjsで単一のサービスにリソースをラップしますか?
最近、残りの API リクエストごとにトークンを送信できるTokenHandlerを見つけました。ここで詳細な説明を見つけることができます: http://nils-blum-oeste.net/angularjs-send-auth-token-with-every--request/#.UXtYlbVTDIX
プロジェクトでこのハンドラーを実装する際に問題に直面しています。私のプロジェクトはいくつかのリソースを扱っています。 PostとAuthorについて話しましょう。私が現在行っていることは次のとおりです。
そして、それをメインのアプリ モジュールにまとめます
私の質問は、TokenHandler をどこにセットアップすればよいかということです。モジュールに割り当てる必要がありますか?たとえば PostService に割り当てますが、結果として AuthorService では使用できませんか?
その結果、私は別の質問があります。次のような 1 つのサービスで複数のリソースをラップすることは可能ですか。
angularjs - $resource promise パターンでデータをキャッシュする
私のサービスが $resource get から promise を返していると仮定すると、これがデータをキャッシュする適切な方法であるかどうか疑問に思います。この例では、戻る矢印を押して検索結果に戻った後、Web サーバーを既に持っているため、再度クエリを実行したくありません。これは、この状況を処理するための適切なパターンですか? 以下の例は、Flixter (Rotten Tomatoes) API を照会しています。
煮詰めたコード:
コントローラ:
サービス:
APIキーが公開されるため、実際の例を提供できません。
javascript - リソースを使用して Angularjs のスコープ プロパティを設定する
免責事項私はノックアウトから来たので、特定のことを行う方法について考えを切り替えるのに少し苦労しています。これはその1つです...
ユーザーが<input>
映画のタイトルを入力でき、映画のリストが表示されるはずです。を呼び出すことで、残りの API から映画のコレクションが提供されhttp://www.example.com/api/movies?title=matrix
ます。API は angular-resource モジュールにラップされています。
$scope.movies = Movie.query({ title: $scope.searchValue });
いつでも変更されると自動的に更新されると思ってい$scope.searchValue
ましたが、そのようには機能していないようです。
完全を期すために、この特定のコントローラーのマークアップをここに示します...
$scope.movies
ユーザーが に値を入力した後に検索結果を入力する正しい方法は<input>
どれですか?