我注意到當我在撰寫 HTML 時,例如,在一個苗條的模板中,我為我的編輯器配置的更漂亮的格式化程式總是洗掉該value=部分,以便
<label>
<input
type="checkbox"
bind:group={foo.bar}
name="bar"
value={value} <———
/>
{value}
</label>
變成了
<label>
<input
type="checkbox"
bind:group={foo.bar}
name="bar"
{value} <——-
/>
{value}
</label>
然而,當我input type=‘checkbox’在 MDN 上查找元素參考檔案https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox 時,它并沒有說value=是可選的。我正在使用表單中的輸入,我認為有必要將value=. 當然,憑經驗我可以測驗這個,但我還沒有。我很想聽聽您對此有何看法。
uj5u.com熱心網友回復:
屬性的名稱在 HTML 中是必需的。問題是您共享的代碼可能看起來像 HTML,但事實并非如此。它是一個看起來像 HTML 的 JavaScript 運算式,稍后將由 Svelte 處理并轉換為實際的 HTML。
在Svelte 檔案中,他們解釋了您所看到的內容:
當屬性名稱和值匹配 (
name={name}) 時,可以將它們替換為{name}。<!-- These are equivalent --> <button disabled={disabled}>...</button> <button {disabled}>...</button>
這就是您的編輯器洗掉value={value}并將其簡化為僅的{value}原因:因為屬性和具有值的變數具有相同的名稱。
如果您使用的是實際的 HTML,那么您將無法省略屬性名稱,并且需要撰寫整個內容value="value"(請注意,它將使用引號而不是花括號。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/347300.html
標籤:javascript html 形式 更漂亮
上一篇:如何將我的內容集中在我的網頁中?
下一篇:檢查復選框時出現問題
