gpt4 book ai didi

javascript - 变量在范围内不存在(使用 requirejs/backbone)

转载 作者:行者123 更新时间:2023-11-28 08:05:02 25 4
gpt4 key购买 nike

以下是我的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
},

[...]

});
});

问题是,我在 View 的初始化方法中看不到两个变量,而且我不知道为什么。我认为它应该被封闭起来。我使用谷歌浏览器的开发工具断点进行测试。就在 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);
}
});
}
};
});

这些变量未定义的原因是什么?

最佳答案

打开控制台,在网络选项卡上,如果加载了此 js 文件,请尝试提供资金

也许您需要使用 shim 命令来加载非模块文件

请阅读此处的垫片示例。 https://github.com/requirejs/example-jquery-shim

希望有帮助。

关于javascript - 变量在范围内不存在(使用 requirejs/backbone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892645/

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