我有喜歡@id
,@type
屬性名稱的模型等屬性使用與木偶/下劃線模板怪異字符
如果我嘗試在Marionette.ItemView
模板(帶下劃線)我得到
<%= @id %>
Uncaught SyntaxError: Unexpected token ILLEGAL
使用語法['@id']
不會產生預期的結果。
我必須重寫serializeData
函數嗎?
感謝
我有喜歡@id
,@type
屬性名稱的模型等屬性使用與木偶/下劃線模板怪異字符
如果我嘗試在Marionette.ItemView
模板(帶下劃線)我得到
<%= @id %>
Uncaught SyntaxError: Unexpected token ILLEGAL
使用語法['@id']
不會產生預期的結果。
我必須重寫serializeData
函數嗎?
感謝
下劃線模板需要內部<%= ... %>
JavaScript表達式,編譯模板使用with
因此通常可以參考對象屬性,彷彿它們是變量。你的問題是@id
不是一個有效的JavaScript表達式。
所以是的,提供你自己的serializeData
去除@
s可能是你最好的選擇。另一種可能性是使用variable
選項與_.template
:
By default, template places the values from your data in the local scope via the
with
statement. However, you can specify a single variable name with the variable setting. This can significantly improve the speed at which a template is able to render._.template("Using 'with': <%= data.answer %>", {answer: 'no'}, {variable: 'data'}); => "Using 'with': no"
那麼你可以使用之類的東西<%= data['@id'] %>
;問題是讓這種方法與Marionette一起工作可能比簡單地使用定製的serializeData
方法清理@
s更有效。