我将多行变量更改为Template Literals
,这很了不起,但是后来我注意到,我所做的缩进已使用对原始代码进行的缩进转换(最小化)为\n
。我该如何避免呢?
前任:
var $div = $(`<div class='proj' id='projects'>
<div class='bot-nav'>${txt}</div>
</div>`);
它被转换为:
var $div = $("<div class='proj' id='projects'>\n <div class='bot-nav'>"+txt+"</div>\n </div>");
我想要这个:
var $div = $("<div class='proj' id='projects'><div class='bot-nav'>"+txt+"</div></div>");
有什么办法吗?
最佳答案
虽然可以使用.replace
(如其他答案中所建议的那样)可以工作,但这并不是很酷的全新 Shiny 方式;)
我认为您正在寻找的是ES2015中引入的文字标记函数(又名“标记模板”)。
这里有一堆:
https://github.com/declandewet/common-tags
您可能需要 oneLine
(或oneLineTrim
):
oneLine`
foo
bar
baz
`
// "foo bar baz"
注意:
oneLine
显然在内部使用replace
。关于javascript - ES6模板文字-从字符串中删除\n,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40142512/