使用AngularJS为OData过滤器连接字符串的问题

时间:2016-04-15 09:35:31

标签: javascript angularjs odata concatenation

我正在尝试在AngularJS中创建一个OData过滤器,用于获取从我的视图传递的变量。

我正在努力进行连接。特别是使用开头和结尾引号"。我研究并尝试了各种选项,如添加\等,但没有运气。

硬编码过滤器如下所示:

$filter: "contains(ProductCode, 'GDN') and Price ge 5 and Price le 20"

以下是我使用从视图传递的变量的过滤器:

var newFilter = "contains(ProductCode, " + "'" + vm.codeO + "')" + " and Price ge " + vm.priceGtO + " and Price le " + vm.priceLtO "\""

使用变量的过滤器必须看起来完全一样。包括开头和结尾引号"

提前谢谢!

1 个答案:

答案 0 :(得分:1)

您需要删除结尾"\""

您要输出的字符串是foo而不是foo"

  

使用变量的过滤器必须看起来完全一样。包括开始和结束引号(“)。

那是你的错误。使用开始和结束引号只是说内部内容是一个字符串。如果您已经有一个字符串变量,则无需添加额外的引号。

此外,您还添加了一些不必要的其他连接。试试这个:

var newFilter = "contains(ProductCode, '" + vm.codeO + "') and Price ge " + vm.priceGtO + " and Price le " + vm.priceLtO