Help!
Я смущаю ребята... Я понятия не имею, что я делаю
Я смотрел на семинары и примеры RequireJS и AMD весь день вчера и сегодня и дошел до этого момента, однако я думаю, что у меня все еще есть фундаментальное недоразумение относительно того, что такое модуль.
- У меня есть куча функций, которые называются "onClick" из моих HTML-элементов...
- Как мне определить мои функции с RequireJS , чтобы я мог называть их? Так запутался:/Также я не понимаю
- Как получить мою функцию onLoad для вызова (в моем случае это $(function(), но как это сделать в RequJS?)
Я использую Node v0.10.12
<html>
...
<head>
<script data-main="" src="libraries/require.js"></script>
...
<script>
...
//I really need all these javascript files for every function defined on this page...
require(['simulatorConfiguration.js',
'modelConfiguration.js',
'libraries/jquery-1.10.2.min.js',
'libraries/jquery.lightbox_me.js',
'libraries/jquery-migrate-1.2.1.js',
'libraries/raphael-min.js'], function(start) {
$(function() {
loadPage(); //<--- CALL LOAD PAGE, but it can't find the function
//do some jquery stuff
});
});
//function that get called on body onload!
define('loadPage', function loadPage()
{
hideAllDivs();
//more jquery stuff...
createModelMenu();
//more jquery stuff...
});
define('hideAllDivs', function hideAllDivs()
{
//some UI stuff...
});
define('createModelMenu', function createModelMenu()
{
//some jquery stuff...
});
define('createTestMenu', function createTestMenu(model_key)
{
var javascriptLoc = "models/" + models[model_key].modelDir + "/testConfiguration.js";
require([javascriptLoc], function(util) {
showModelInformation(model_key);
//some Jquery stuff...
});
});
define('showModelInformation', function showModelInformation(model_key)
{
hideAllDivs();
//some jquery stuff
});
define('showTest', function showTest(test_key)
{
hideAllDivs();
//some RaphaelJS stuff...
});
define('takeControl', function takeControl()
{
//some UI stuff
});
define('giveUpControl', function giveUpControl()
{
//some UI stuff...
});
</script>
</head>
<body>
...
<li><a href="#" id="AoD" onclick="showTests(this.id)">Audio On Demand</a></li>
...
<input type="submit" value="Yes, Release Control" onclick="giveUpControl()">
....
<input type="submit" value="Take Control" onclick="takeControl()">
....
</body>
Мне нужно сделать что-то вроде:
//function that get called on body onload!
define('loadPage', function loadPage()
{
return function(loadPage)
{
hideAllDivs();
//more jquery stuff...
createModelMenu();
//more jquery stuff...
}
});
//and call it with loadPage.loadPage(); ?
или может быть что-то вроде:
//function that get called on body onload!
define('loadPage', function loadPage()
{
return function()
{
hideAllDivs();
//more jquery stuff...
createModelMenu();
//more jquery stuff...
}
});
или
function(loadPage)?
Я посмотрел на эти похожие вопросы:
- Вызов методов в модулях RequireJs из HTML-элементов, таких как обработчики onclick
- Как использовать jquery ui с requirejs
- Как включить jQueryUI в мое модульное приложение backbone.js с помощью RequireJS?
Они тоже были полезны, но еще не были:
- http://hippieitgeek.blogspot.se/2013/07/load-jquery-ui-with-requirejs.html
- http://www.requirejs.org/jqueryui-amd/example/webapp/app.html
- https://github.com/jrburke/jqueryui-amd
Я попытался разделить функции на другой файл, поэтому у меня есть "index.html" и "Logic.js"... вот суть:
=========================================