反应变量未在 Svelte 中显示正确的输出
The reactive variable is not displaying the right output in Svelte
我认为这段代码应该做什么是很明显的,但输出并不像我预期的那样。
<script>
let firstName = "first";
let lastName = "last";
let myColor = "orange";
$: fullName = "${firstName} ${lastName}";
$: console.log(myColor);
</script>
<main>
<p>{fullName} - and he has a nice {myColor} shirt</p>
<input type="text" bind:value={firstName} />
<input type="text" bind:value={lastName} />
<input type="text" bind:value={myColor} />
</main>
这是输出(没有输入槽):
${firstName} ${lastName} - and he has a nice orange shirt
我不知道为什么它没有用 concat 变量替换 fullName
。
您需要使用反引号 (template literals) 来连接这样的字符串。这有效:
$: fullName = `${firstName} ${lastName}`;
我认为这段代码应该做什么是很明显的,但输出并不像我预期的那样。
<script>
let firstName = "first";
let lastName = "last";
let myColor = "orange";
$: fullName = "${firstName} ${lastName}";
$: console.log(myColor);
</script>
<main>
<p>{fullName} - and he has a nice {myColor} shirt</p>
<input type="text" bind:value={firstName} />
<input type="text" bind:value={lastName} />
<input type="text" bind:value={myColor} />
</main>
这是输出(没有输入槽):
${firstName} ${lastName} - and he has a nice orange shirt
我不知道为什么它没有用 concat 变量替换 fullName
。
您需要使用反引号 (template literals) 来连接这样的字符串。这有效:
$: fullName = `${firstName} ${lastName}`;