为了在我的模板中提供一些“全局值”,我在调用tmpl时指定'options'参数:
var globals = { aProperty: "foo" };
$("#tcontent").tmpl(data,
{ globals: globals }) // <-- options
.appendTo("#content");
然后,我可以像这样访问globals
的属性:
${$item.globals.aProperty}
然后,每当我从模板中调用另一个模板时,我需要执行以下操作,以确保嵌套模板中再次提供globals
:
{{tmpl(nestedValue, {globals: $item.globals} ) "#tnestedtemplate"}}
这有点儿蠢事。是否有其他更清洁的机制可以在我的模板中访问这些全局值?
答案 0 :(得分:1)
如果您为JavaScript命名空间,则可以添加TemplateGlobals
或类似命名空间:
Globals = {};
Globals.TemplateProperties = {};
Globals.TemplateProperties.TestProperty = "Test";
现在,当您致电globals
时,无需传递.tmpl
对象。您可以直接访问这些属性。显而易见的缺点是,现在这些属性可用于所有JS代码。
${Globals.TemplateProperties.TestProperty}