【问题标题】:Issues concatenating strings for OData filter using AngularJS使用 AngularJS 为 OData 过滤器连接字符串的问题
【发布时间】:2016-04-15 09:35:31
【问题描述】:

我正在尝试在 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 "\""

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

提前感谢您!

【问题讨论】:

    标签: javascript angularjs odata concatenation


    【解决方案1】:

    你需要去掉结尾"\""

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

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

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

    此外,您还添加了一些不必要的附加串联。试试这个:

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

    【讨论】:

    • 谢谢赞农。并感谢您对开始和结束引号的澄清。
    猜你喜欢
    • 2020-06-13
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    相关资源
    最近更新 更多