如何使用requirejs调用函数?
这是一个过于简单的问题,但令人惊讶的是,到目前为止还没有任何教程或示例可以帮助我。
这是我的html文件中的代码。
...
<script src = "stuff.js"></script>
<button onclick="doStuff(4, 2)";>DoStuff</button>
...
这是我的要求js。
define(["jquery"], function ($) {
function doStuff(a, b) {
//does some stuff
}
});
为什么这不起作用?我明白了 ReferenceError:未定义doStuff
答案 0 :(得分:3)
你当前问题的答案可能是这样的:
<强>的index.html 强>
<button id="the-button">DoStuff</button>
<script data-main="stuff" src="scripts/require.js"></script>
<强> stuff.js 强>
require(["jquery"], function ($) {
function doStuff(a, b) {
//does some stuff
}
$('#the-button').click(function() {
doStuff(4, 2);
});
});
但看起来您可以退后一步,阅读有关现代JavaScript架构和技术的内容。这应该是一个很好的起点:Why is using onClick() in HTML a bad practice?
答案 1 :(得分:0)
我设法通过将函数传递给html代码来找到问题的解决方案。它不是很优雅,但它有效。
<强>的index.html 强>
<button onclick = "doSomeStuff(4,2);">DoStuff</button>
<script>
require(['stuff.min'], function(myStuff){
function doSomeStuff(a,b) {
myStuff.doStuff(a,b);
}
});
</script>
<强> stuff.js 强>
define(["jquery"], function ($) {
function doStuff(a,b) {
//does some stuff
}
return {doStuff:doStuff};
});