是否可以在下面使用字符串插值(注意动态属性)
document.body.innerHTML += <form id="digSigForm" action="${myObj.Url}" method="post"><input type="hidden" name="data" value="${myObj.someVal}"></form>
答案 0 :(得分:0)
document.body.innerHTML += `<form id="digSigForm" action="${myObj.Url}" method="post"><input type="hidden" name="data" value="${myObj.someVal}"></form>`;
你忘记了反叛
答案 1 :(得分:0)
这当前不起作用。
我有一个像这样的字符串,其中依赖行的data属性来实现某些功能。
`<tr class="row ${rowHiddenClass}" data-someId="${this.someId}">
<td class="cell">${this.Notes}</td>
<td class="cell amount">$${this.Amount}</td>
</tr>`
它在属性字符串中输出这样的内容,这破坏了功能。
<tr class="row $" data-someId="$">
<td class="cell">A nice note</td>
<td class="cell amount">$4.00</td>
</tr>
我们暂时可能必须进行一些连接。
我还不确定什么是更干净,更简单的解决方案。
这有效。
`<tr class="row ` + rowHiddenClass + `" data-someId="` + this.someId + `">
<!-- ... -->
</tr>`
答案 2 :(得分:-1)
你应该使用反引号来定义一个带字符串interpollation的字符串:``
像这样:
console.log(`1 and 1 make ${1 + 1}`);
另一个常见的用例是当你想生成一些字符串输出时 一些静态字符串+一些变量。为此你需要一些 模板逻辑,这是模板字符串的名称 从。以下是您可能生成html字符串的方法 先前:
var lyrics = 'Never gonna give you up';
var html = '<div>' + lyrics + '</div>';
现在使用模板字符串,您可以这样做:
var lyrics = 'Never gonna give you up';
var html = `<div>${lyrics}</div>`;
请注意插值内的任何占位符($ {和})都是 作为JavaScript表达式处理并作为这样的表达式进您可以 做数学。
console.log(`1 and 1 make ${1 + 1}`);