我必须在模板中定义一个变量,这样我的模板渲染器就会替换它中的值。然后我必须在我的一些javascript函数中使用此变量。
变量本身就是一些html,我希望能够对它进行格式化,使其看起来像HTML,而不是一个不可读的超长单行字符串......
<script>
var myHTML = "
<div>
content
</div>"
</script>
我能看到让它发挥作用的唯一方法就是做到这一点(非常难看)
<script>
var myHTML = ""
+"<div>"
+"content"
+"</div>"
</script>
有友好的方法吗?
答案 0 :(得分:2)
源中插入的任何新行字符都是模板文字的一部分。使用普通字符串,您必须使用以下语法才能获得multi-line strings:
x$c2 = ifelse(duplicated(x$c1), 0, 1)
对于更高级的使用案例,您可以在其中一个top 5 JavaScript templating engines之上实施解决方案:
答案 1 :(得分:1)
一种常用且友好的方法是将模板字符串放在其自己的"scripts": {
"start": "node ./src/server/index.js",
"lint": "eslint index.js || exit 0"
}
元素中,并将type属性设置为<script>
,因为此元素可通过javascript访问,但未显示通过浏览器。
这允许您像往常一样编写HTML(以及模板标记),而无需转义或特殊处理换行符。
这种方法的工作演示:
text/x-something
//get the template string
var myHTML = document.getElementById("template1").innerHTML;
//check that myHTML contains the template string
console.log(myHTML);
答案 2 :(得分:0)
在你的情况下:
mysql> describe my_table;
+----------------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+-------+
| id | varchar(255) | NO | PRI | NULL | |
| test | varchar(255) | NO | UNI | NULL | |
+----------------------------+--------------+------+-----+---------+-------+