2011-07-06 72 views
2
在單獨的文件section.htm

了一個模板內jQuery的模板:渲染視域值

<h3>${Name}</h3> 
{{each Variables}} 
    {{tmpl($data) Type}} 
    ${Type} | ${Name} | ${Value} 
    <br/> 
{{/each}} 

我需要呈現不同的模板根據類型(存儲在.htm文件的太)。 例如,對於Type等於「MultilineText」的應用,應使用MultilineText.htm。 類似於:{{tmpl($ data)「MultilineText」}}

我已經加載,編譯和緩存了MultilineText.htm。 MultilineText.htm的

內容:

${Name}<textarea>${Value}</textarea>

但這個代碼does not工作:(

請幫

感謝

回答

2

答案是{{TMPL($值)$ .template [$ value.Type]}}

$ .template [some_template_name] - 這個U可以選擇要呈現的模板 some_template_name - 模板的名稱。

請注意,模板應該在之前使用$ .tmpl進行加載和編譯,並且具有some_template_name名稱。

0

我只是碰到了同樣的問題你。可以通過回調函數添加回調來比較變量。

看看我的問題:Conditionals in jQuery templates

+0

您提出未來: {{如果的GetType()== 「MultilineText」}} {{TMPL($數據) 「MultilineText」}} {{\如果}}? 我不認爲這是很好的選擇,因爲我打算有大約10-15這樣的模板。 –

+0

我看到你更新了你的問題。什麼是js和你有的對象與模板關聯?你會用JavaScript做到這一點,應該很容易。你應該能夠通過名字或者你的情況來啓動一個模板,無論它是哪一種類型都是id – locrizak