我在Angular Web App中使用Javascipt的Azure移动服务库。根据这里的文档:https://github.com/Azure/azure-mobile-services/blob/master/docs/mobile-services-html-how-to-use-client-library.md#how-to-filter-returned-data如何在查询Azure移动服务时将过滤器添加到现有过滤器功能
有两种方法来过滤返回的数据。一个是传递一个JSON对象,另一个传递一个过滤函数(用于复杂过滤)。我使用过滤函数,因为我必须使用关系运算符来处理需要大于或小于条件的startDate或endDate这样的列。
我有一个函数,就像下面的函数一样,它返回一个基于前端设置的某些过滤器的过滤函数,但为了迎合不同的过滤器,我必须使用很多if..else条件来查看哪些他们被设置,并返回什么样的过滤功能。
function getFilterFunc() {
if (x != null) {
if (y != null) {
return function() { return this.id == xyz && this.x == x && this.y == y; };
} else {
return function() { return this.id == xyz && this.x == x; };
}
}
.
.
.
else {
return function() { return this.id == xyz; };
}
}
它继续像这样,我希望你明白了。
我在想,如果有更好的方法来生成这个过滤器函数。如果可以简单地使用所有过滤器,并简单地将条件连接到设置的过滤器的单个return语句中。一旦我们完成了所有过滤器,我们将该语句作为函数返回,并将其用作Azure移动服务的过滤器函数。
感谢您的回应!在做了一些研究之后,我选择了切换到所提到的技术。看着你的回复,向我保证,这是正确的做法。 –