Jquery 是否有更干净的方法将附加数据传播到嵌套模板?

Jquery 是否有更干净的方法将附加数据传播到嵌套模板?,jquery,jquery-templates,Jquery,Jquery Templates,为了在我的模板中提供一些“全局值”,我在调用tmpl时指定了“options”参数: var globals = { aProperty: "foo" }; $("#tcontent").tmpl(data, { globals: globals }) // <-- options .appendTo("#content"); 然后,每当我从模板中调用另一个模板时,我都需要执行以下操作,以确保globals在嵌套模板中再次可用: {{tmpl(nestedValue, {

为了在我的模板中提供一些“全局值”,我在调用tmpl时指定了“options”参数:

var globals = { aProperty: "foo" };

$("#tcontent").tmpl(data, 
      { globals: globals }) // <-- options
.appendTo("#content");
然后,每当我从模板中调用另一个模板时,我都需要执行以下操作,以确保
globals
在嵌套模板中再次可用:

{{tmpl(nestedValue, {globals: $item.globals} ) "#tnestedtemplate"}}

这有点烦躁。是否有其他更干净的机制使这些全局值可以在我的模板中访问?

如果要为JavaScript命名,可以添加
TemplateGlobals
或类似的名称空间:

Globals = {};
Globals.TemplateProperties = {};
Globals.TemplateProperties.TestProperty = "Test";
现在,在调用
.tmpl
时,无需传递
globals
对象。您可以直接访问属性。这样做的明显缺点是,现在所有JS代码都可以使用这些属性

${Globals.TemplateProperties.TestProperty}

示例:

如果要为JavaScript命名,可以添加
TemplateGlobals
或类似名称空间:

Globals = {};
Globals.TemplateProperties = {};
Globals.TemplateProperties.TestProperty = "Test";
现在,在调用
.tmpl
时,无需传递
globals
对象。您可以直接访问属性。这样做的明显缺点是,现在所有JS代码都可以使用这些属性

${Globals.TemplateProperties.TestProperty}

示例:

谢谢-我想我试过了,但可能我没有创建一个正确的全局变量…谢谢-我想我试过了,但可能我没有创建一个正确的全局变量。。。