2013-05-29 34 views
21

我正在學習ember.js,並且想要停用一些代碼塊。我知道{{! }}適用於<script type="text/x-handlebars">內部的單行註釋,但我無法使其適用於多行註釋。也許是因爲我內部有條件陳述。如何在ember.js腳本句柄中使用條件語句執行多行註釋?

<script type="text/x-handlebars" id="stuff"> 
    {{! 
     {{#if length}} 
     foobar 
     {{/if}} 
    }} 
</script> 

但後來我得到這個錯誤:

Uncaught Error: Parse error on line xx: 
...ngth}} foobar {{/if}}}} {{ o 
---------------------^ 
Expecting 'EOF', got 'OPEN_ENDBLOCK' 

我也嘗試過使用<!-- ... -->,而沒有顯示的部分,但我也收到此錯誤:

未捕獲的錯誤:無法對不在DOM中的Metamorph執行操作

如果我剛剛刪除,則不會顯示此錯誤那塊代碼。

+0

您將不得不添加感嘆號到任何句柄語句'{{! ...}}在''評論內。 – CraigTeegarden

+0

是的,我做到了 –

回答

49

添加

{{!-- 
    This is a 
    multiline 
    comment 
--}} 

爲多行註釋

-2

{{! }}似乎工作。看看here

+1

我給出了一個我非工作的例子{{! ...}}',也許它不起作用,因爲我內部有條件語句。 –

+0

@霍啓力,我想明白你爲什麼需要這個。評論並不意味着評估。你爲什麼不把'if'作爲把手標記? –

+0

我想爲了調試目的而註釋掉大量的代碼,因爲我在學習ember.js。所以這是真的,'{{! ...}}'不能解決其他句柄條件? –

6

Any comments that must contain }} or other handlebars tokens should use the {{!-- --}} syntax.

來源:http://handlebarsjs.com/

所以看起來{{! }}有效期爲多長,因爲沒有它裏面其他車把令牌。否則,{{!-- --}}是必要的。

0

在Visual Studio代碼中,我用來選擇代碼的一部分,並執行ctrl + /來評論或刪除內容。它將添加
{{!-- Any hbs code or anything will be wrapped --}}