我在一个多页面站点上使用下划线和主干,每个页面上有几个下划线模板。在我的主视图(cshtml)上,我加载了一个类似http://cl.ly/GpFT的 javascript 模板,而在第二个视图(cshtml)上,我使用了相同的脚本设置,但缺少 javascript 模板,然后我收到一个错误,例如这个http://cl.ly/Gnrc
当我缩小我的脚本时,这将导致脚本中止。是否有可能以一种很好的方式解决这个问题,或者我是否需要准确加载每个页面所需的模板和脚本?
我在一个多页面站点上使用下划线和主干,每个页面上有几个下划线模板。在我的主视图(cshtml)上,我加载了一个类似http://cl.ly/GpFT的 javascript 模板,而在第二个视图(cshtml)上,我使用了相同的脚本设置,但缺少 javascript 模板,然后我收到一个错误,例如这个http://cl.ly/Gnrc
当我缩小我的脚本时,这将导致脚本中止。是否有可能以一种很好的方式解决这个问题,或者我是否需要准确加载每个页面所需的模板和脚本?
你没有告诉我们你的观点是什么样的,所以我假设你正在做这样的事情:
var V = Backbone.View.extend({
template: _.template($('#some-id').html()),
//...
});
并且您的视图在加载它们时会引发 TypeErrors。如果#some-id
DOM 中没有,那么您会说_.templates(null)
这没有任何意义。解决此问题的一种简单方法是在视图的构造函数中编译模板:
var V = Backbone.View.extend({
initialize: function() {
this.template = _.template($('#some-id').html());
//...
},
//...
});