Backbone.js 在移动设备上使用主干、下划线本地化模板

Backbone.js 在移动设备上使用主干、下划线本地化模板,backbone.js,underscore.js,underscore.js-templating,Backbone.js,Underscore.js,Underscore.js Templating,我想在我的Phonegap/Backbone移动应用程序中本地化模板。我想以某种方式覆盖下划线渲染函数,使其始终附加额外的属性和语言。让我举例说明: 假设我需要(require.js)HomeView模板,它看起来像: <div> <p><%= language.get('someText') %></p> </div> 这是可行的,但我不想总是将此语言属性附加到下划线模板中。我是否可以以某种方式覆盖该呈现函数,使其始终包含语

我想在我的Phonegap/Backbone移动应用程序中本地化模板。我想以某种方式覆盖下划线渲染函数,使其始终附加额外的属性和语言。让我举例说明:

假设我需要(require.js)HomeView模板,它看起来像:

<div>
   <p><%= language.get('someText') %></p>
</div> 

这是可行的,但我不想总是将此语言属性附加到下划线模板中。我是否可以以某种方式覆盖该呈现函数,使其始终包含语言模型?

您可以将任何喜欢的JavaScript表达式放入
中。特别是,您可以访问globals。因此,如果您有一个全局应用程序命名空间:

// I'll call it `app` for lack of a better placeholder.
window.app = { ... };
然后您可以将
语言
放入其中:

app.language = your_language_model;
并在任何模板中访问它,而不向
\uu.template
调用或编译的模板函数提供任何额外内容:

var t = _.template('<%= app.language.get('pancakes') %>');
var h = t();
var t=..template(“”);
var h=t();

演示:

您可以将任何喜欢的JavaScript表达式放入
中。特别是,您可以访问globals。因此,如果您有一个全局应用程序命名空间:

// I'll call it `app` for lack of a better placeholder.
window.app = { ... };
然后您可以将
语言
放入其中:

app.language = your_language_model;
并在任何模板中访问它,而不向
\uu.template
调用或编译的模板函数提供任何额外内容:

var t = _.template('<%= app.language.get('pancakes') %>');
var h = t();
var t=..template(“”);
var h=t();

演示:

我刚想到访问全局变量。你把我从思念中救了出来。非常感谢。我刚想到访问全局变量。你把我从思念中救了出来。非常感谢。