DS.RestAdapter リビジョン 12 を使用してサーバーに結果を照会していますが、複数回照会するとページに結果を表示するのに苦労しています。
次のアクションに関連付けられた検索ボタンを持つアプリケーションがあります。
search: function() {
this.set('searchResults', App.Property.find());
}
次に、私の handlebars テンプレートには、次のような結果を表示するためのコードがあります。
{{#if searchResults.isLoaded}}
{{searchResults.length}}
{{/if}}
この構成では、検索ボタンをクリックするたびに JSON リクエストが行われ、すべてのプロパティが取得されて画面に表示されます。searchResults オブジェクトのタイプは DS.RecordArray であり、オブジェクトへの参照は一定のままのようです。つまり、テンプレートに {[searchResults}} を表示すると、取得され、ID は同じままです。
ただし、パラメーターに基づいてクエリを実行するようにコードを変更するとすぐに、次のようになります。
search: function() {
this.set('searchResults', App.Property.find({hello: 'world}));
}
次に、検索ボタンをクリックするたびに、正しい検索パラメーターを使用してサーバーにクエリが実行され、最初にこれを行うと、検索結果がページに正しく表示されます.....しかし....として検索をもう一度クリックするとすぐに、結果が消えます。さらに、searchResults オブジェクトのタイプは DS.AdapterPopulatedRecordArray になりました。これを画面に表示すると、検索をクリックするたびに {{searchResults}} が新しいインスタンスを取得することがわかりますが、isLoaded プロパティは常に false であり、私の結果は表示されません。
私は何を間違っていますか?助けてくれてありがとう。