2015-08-17 66 views
0

Mustache.js在許多HTML屬性之間將空白區分開HTML屬性。我怎樣才能保持屬性?Mustache.js在空白區域之間分割HTML屬性

的Object來呈現(寬度包含空格)

cardpool = { 
    width:"col-md-offset-3 col-md-6 col-sm-4" 
} 

要使用的模板

<div class={{width}}> 
</div> 

錯誤的結果(Mustache.js拆分空格之間的attributs ):

<div class="col-md-offset-3" col-md-6="" col-sm-4=""> 
</div> 

預期的結果(我想保持在attribut的空格)

<div class="col-md-offset-3 col-md-6 col-sm-4"> 
</div> 

你有一個解決方案,以獲得預期的結果

謝謝你的幫助。

+1

您是否試過'class =「{{width}}」',用引號? –

+0

@FrédéricHamidi:謝謝你是我的問題的好回答! – Samuel

回答

4

這不是小鬍子的錯。您的模板呈現爲:

<div class=col-md-offset-3 col-md-6 col-sm-4> 
</div> 

注意您的類名稱周圍缺少任何引號。瀏覽器可以在內部將其轉換爲您所看到的內容(我猜測您正在檢查瀏覽器開發工具中生成的數據)。

你的模板應包括圍繞變量引號,如果你想組的類名到一個單一的類屬性值:

<div class="{{width}}"> 
</div> 

鬍鬚是(主要)無關約在它的使用範圍內,所以如果這些值包含空格,它不知道HTML中的屬性應該被引號包圍。因此,你需要自己添加這些。

+0

哈哈,你只是讀了我的腦海。 – scarto

+0

沒關係!我忘記了所有Mustache模板中的所有引號。我認爲鬍鬚增加了引號,但是錯誤的想法。謝謝您的回答。 – Samuel

0

不熟悉Mustache.js,但EJS例如是這樣的:

<div class="<%= preRendData.class %>"></div> 

因此,嘗試你的代碼報價:

<div class="{{width}}"> 
0

與三聯鬍子嘗試:{{{width}}}。這可以防止HTML轉義,如果作爲{{width}}使用,它會執行轉義。