以下是我的bb视图的一部分:
define(['backbone', 'tools/logger', 'icanhaz', 'view/loader', 'text!template/root.ich',
'view/users', 'view/chart/monthly_balance', 'datatables'],
function(Backbone, logger, ich, loader, template,
UsersView, MonthlyBalanceChartView) {
// here I can see both `loader` and `template` variables
'use strict';
return Backbone.View.extend({
[...]
initialize: function(options) {
logger.init('root');
// I can't see `loader` and `template` here
},
[...]
});
});
问题是,我无法在视图的初始化方法中看到两个变量,而且我不知道为什么。我认为它应该陷入关闭。我使用谷歌浏览器的开发者工具断点进行测试。就在use strict
之前,我可以看到所有内容(加载器和模板变量已设置)。所有其他变量都可以访问。
例如,整个加载器文件是:
define(
['icanhaz', 'tools/logger'],
function(ich, logger) {
return {
loadTemplate: function(tpl) {
$(tpl).each(function() {
if (this.outerHTML) {
ich.addTemplate(this.id, $(this).text());
logger.log('LOADED', this.id);
}
});
}
};
});
这些变量未定义的原因是什么?
答案 0 :(得分:0)
打开控制台,在网络选项卡上,尝试为此js文件加载提供资金
也许您需要使用shim命令加载非模块文件
请阅读这里的shim示例.. https://github.com/requirejs/example-jquery-shim
希望它有所帮助。