如果您嘗試使用Elm.embed
具有比div
以外的元素,你得到這個錯誤:爲什麼Elm.embed只接受div?
Elm.node must be given a DIV, not a BODY.
我可以看到在源this fairly explicitly。我想了解爲什麼這個限制存在。爲什麼我無法在我的body
標籤中嵌入榆樹,例如?
如果您嘗試使用Elm.embed
具有比div
以外的元素,你得到這個錯誤:爲什麼Elm.embed只接受div?
Elm.node must be given a DIV, not a BODY.
我可以看到在源this fairly explicitly。我想了解爲什麼這個限制存在。爲什麼我無法在我的body
標籤中嵌入榆樹,例如?
當您使用Elm.embed
時,您會說「我將完全控制此元素的內容到此Elm模塊」。試圖將其嵌入body
將與使用Elm.fullscreen
(other ways之一來運行Elm應用程序)相同。
至於爲什麼你不能嵌入任何其他標籤(說一個<span>
或<p>
標籤),我的猜測是,它只是在語義上是正確的,並避免任何奇怪的行爲。 A <div>
只是「定義文檔中的部分」的塊元素。 A <span>
標籤具有相似的語義(「在文檔中定義一個部分」),但不是塊元素(將這個Elm模塊顯示爲內聯元素意味着什麼?)。 A <p>
標記是一個塊元素,但是意味着要保存一段文字。如果您試圖嵌入<canvas>
或元素,甚至會發生什麼情況?您可以通過確保應用嵌入的元素是div
來避免所有這些。