【问题标题】:Splitting template literal to multiple lines isn't working将模板文字拆分为多行不起作用
【发布时间】:2020-11-04 22:37:09
【问题描述】:

我试图在 ajax 调用中将模板文字拆分为多行,但这对我不起作用。这是我的代码:

ajax.get(`${this.site}/_api/web/items?\
$filter=active eq 1\
$orderby=type,rank`)

当我这样做时,它不会考虑我拥有的过滤和排序。我也试过这个:

ajax.get(`${this.site}/_api/web/items?
$filter=active eq 1
$orderby=type,rank`)

我的代码中的实际 URL 实际上比这长,但这基本上是我想要做的。

【问题讨论】:

    标签: javascript typescript template-literals


    【解决方案1】:

    当使用多行模板字符串时,它在字符串文字之间包含一个训练换行符\n,这在端点的情况下可能不是您想要的。您可以像这样连接字符串文字:

    ajax.get(`${this.site}/_api/web/items?` +
        `$filter=active eq 1` +
        `$orderby=type,rank`
    )
    

    【讨论】:

    • ... 在这种情况下,除非 $filter/$orderby 实际上是 ${filter}/${orderby},否则第二个和第三个字符串甚至可以是纯字符串文字"' 作为分隔符。
    • 谢谢。我以为我可以将它分成多行而不必使用 + 号,但是是的,它似乎无法完成
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    相关资源
    最近更新 更多