gpt4 book ai didi

Backbone.js 将模板与 html 文件分开

转载 作者:行者123 更新时间:2023-12-04 11:42:14 27 4
gpt4 key购买 nike

我正在开发 Backbone.js 应用程序。我们使用 underscore.js 模板将内容加载到 View 中。目前我们在 index.html 文件中拥有所有模板,因此文件的大小正在增加。谁能帮我找到将这些模板分离到其他文件的解决方案?提前致谢。

编辑

最近我访问了Backbone patterns我发现我们可以使用 JST templates为每个模板创建单独的模板文件。他们解释说我们可以创建一个 jst.js文件来放置我们所有的模板代码:

// http://myapp.com/javascripts/jst.js
window.JST = {};

window.JST['person/contact'] = _.template(
"<div class='contact'><%= name %> ..."
);

window.JST['person/edit'] = _.template(
"<form method='post'><input type..."
);

<script src="http://myapp.com/javascripts/jst.js"></script>

现在所有的模板都在 jst.js文件。但是,如果您有很多模板,并且想要将模板移动到单独的文件中,则可以创建单独的模板文件:
// http://myapp.com/javascripts/jst.js
window.JST = {};

//http://myapp.com/javascripts/contactPerson.template.js
window.JST['person/contact'] = _.template(
"<div class='contact'><%= name %> ..."
);

//http://myapp.com/javascripts/editPerson.template.js
window.JST['person/edit'] = _.template(
"<form method='post'><input type..."
);

<script src="http://myapp.com/javascripts/jst.js"></script>
<script src="http://myapp.com/javascripts/contactPerson.js"></script>
<script src="http://myapp.com/javascripts/editPerson.js"></script>

请让我知道是否有任何更简单的想法。谢谢!

最佳答案

您可以在单独的 html 文件中拥有模板,并且可以使用 requirejs 将它们作为文本加载。 .有一个插件叫text这将帮助你做到这一点。

例子:

define([
'text!templates/sampleTemplate.html'
], function(tmpl){

var Sampleview = Backbone.View.extend({
id: 'sample-page',

template: _.template(tmpl),

render: function() {
$(this.el).html(this.template());
return this;
}
});
return SampleView;
});

html 文件“templates/sampleTemplate.html”将从 require.js 配置中指定的根路径中获取

关于Backbone.js 将模板与 html 文件分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033996/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com