私は左右のセクションを持つページを持っています。右側のセクションには、ユーザーが左側で選択したフィルターに基づく結果が表示されます。ユーザーが左側のフィルターを選択してボタンを押すたびに、サーバーに照会して結果を取得します。結果セットをフィルタリングする際に複数のif/elseを避ける方法
私はif/else節がひどいように見えます。新しいフィルタを追加するたびに、多くの作業が必要になります。これを避ける方法はありますか?現時点で
私は、次のフィルタがあります/他は次のように見える場合foo, bar, fromdate, todate, profile
私を:
var query = "?"
if (self.foo === '' && self.bar === '' && self.fromdate === '' && self.todate === '' && self.profile === '')
query = "";
else if (self.foo.length > 2 && self.bar === '' && self.fromdate === '' && self.todate === '' && self.profile === '')
query += "foo=" + self.foo;
else if (self.foo.length > 2 && self.bar.length > 2 && self.fromdate === '' && self.todate === '' && self.profile === '')
query += "foo=" + self.foo + "&bar=" + self.bar;
// ...
xhr.open('GET', apiURL+query)
self.loading = true
xhr.onload = function() {
self.requests = JSON.parse(xhr.responseText)
//do stuff
self.loading = false;
}
質問 /他のより簡単に理解することがあれば、これを作るための方法はあります管理していますか?
Switchステートメント(ケース)を使用すると、簡単に読み取ることができます。 –