2013-03-06 20 views
3

我正在將我的一個項目遷移到使用HandlebarsJS模板而不是下劃線模板,並且遇到了一個非常奇怪的問題。HandlebarsJS預編譯模板中的空白區域

我使用的是預編譯模板和無處不在我正在追加呈現模板的DOM我得到附加以及其造成的佈局問題與差距,代替它們

在尋找使一個空的文本元素在Chrome瀏覽器開發控制檯顯示附加到一個div的3個模板下面的標記:

> <div> 
     "" 
     <div><!--content --></div> 
     "" 
     <div><!--content --></div> 
     "" 
     <div><!--content --></div> 
    </div> 

當傾銷父DIV HTML到JavaScript控制檯沒有任何空間可言,它只是:

<div><!--content --></div><div><!--content --></div><div><!--content --></div> 
+0

什麼模板樣子的問題?你如何追加它們?也許jsfiddle.net或jsbin.com上的一個簡單例子會有所幫助。 – 2013-03-06 16:17:36

+0

好主意:它有點做作,因爲我不得不重做代碼來工作jsfiddle並複製相關的庫代碼(我的代碼在底部) - http://jsfiddle.net/abJMU/1/當它運行時,檢查輸出HTML,你將會看到我的意思是在每個模板之前追加空的文本節點 – Eriedor 2013-03-06 17:17:32

+0

(1)你可以使用* External Resources *面板導入'handlebars.js'(或者以http: (2)模板是什麼樣子的?我懷疑預編譯與此有什麼關係。 – 2013-03-06 17:38:37

回答

1

好了,現在已經解決了,根據對原始問題的評論,問題是在預編譯期間添加的\ ufeff字符,我的IDE和開發人員瀏覽器擴展程序甚至沒有顯示可見的空白區選項啓用。

要解決我我的模板附加代碼更新到

$container.append(template({ *data* }).replace(/\ufeff/, ''));