所以我使用Require.js动态加载js
文件到目前为止工作得非常好。但是如何卸载可以重新启动它的模块。
一个简单的例子:
require(["jquery"], function($) {
$('#trigger').click(function() {
require(["view"], function(fn) {
// some callback
});
});
});
我正在加载jquery
以将clickhandler功能分配给名为#trigger
的按钮。我还有一个view.js
文件,其中包含一个alert("test");
因此,当我加载页面并按#trigger
时,一切都按预期工作。但我无法再次按#trigger
,因为alert()
内的view.js
已经被解雇了。每次按#trigger
由于
答案 0 :(得分:0)
您需要将代码包装在视图中,以便它不会自动触发。要求自动调用的东西是非常罕见的。因此,如果您将代码更改为以下内容,则可以多次调用视图函数:
require(["jquery", "view"], function($, view) {
$('#trigger').click(function() {
view.load();
});
});
您的视图文件类似于:
define(["jquery"], function ($) {
var load: function () {
// Do some stuff here
}
return {
load: load
}
});