私は、ユーザーが検索バーに入れた材料に基づいてレシピのリストを返すレシピ検索アプリケーションで作業している初心者です。私はAngularを使いこなすことを学んでいます。便利で、コードを管理しやすいからです。AJAX呼び出しが成功してデータを返すと、ビューが更新されます
これまでのところ、私は自分のデータベースのAPIにjQuery Ajax GETリクエストを作成し、JSONオブジェクトのリストを返すことに成功しました。
は、ここに私の角度コントローラの宣言です:
var recipesData = []; // variable that will hold the returned data
angular
.module("awesomeapp")
.controller("listController", listController);
function listController() {
var vm = this;
vm.data = recipesData;
}
そして私は、私の見解では他の場所で表示さvm.dataで何かを持っています。
vm.dataがrecipesDataに設定されている場合、ページがロードされたばかりで、ユーザーは何も入れておらず、まだ返されていないデータがあるため、何も表示されません。
vim.dataをAjaxコールの後に設定できるようにするにはどうすればよいですか?または、listController関数の外部で設定することはできますか?
私はこのための優雅なソリューションを探していますので、すべてを簡単に保守することができます。ありがとう:)
ありがとうございました。私はjQueryのajaxを使用している理由は、多くのパラメータをurlに付ける必要があり、ajaxはすべてjson形式でうまく整えられるからです。 $ httpで同じことをする良い方法は何でしょうか? –
また、私はrecipeService.then(レスポンス)の仕組みについて混乱しています。それは成功のコールバック関数と同じですか?この場合、listControllerはどのような "レスポンス"を知っていますか? –
$ httpはAngularのJQueryのajaxに相当します。パラメータを渡すこともできますし、JSONも返します。 –