I am trying to use dojo.require(If)a local variable to dynamically load a module on a page based on a condition.
// note: dojo v1.4
djConfig = {
debugAtAllCosts: true
};
Example 1 (does not work) :
(function () {
var nameOfClass = "Two";
dojo.require ("my.namespace." + nameOfClass);
dojo.addOnLoad (function () {
var oneOrTwo = new my.namespace [nameOfClass] ();
});
} ());
Error: ReferenceError: nameOfClass not defined.
Example 2 (does not work) :
(function () {
var nameOfClass = "Two";
dojo.requireIf (nameOfClass == "One", "my.namespace.One");
dojo.requireIf (nameOfClass == "Two", "my.namespace.Two");
dojo.addOnLoad (function () {
var oneOrTwo = new my.namespace [nameOfClass] ();
});
} ());
Error: ReferenceError: nameOfClass not defined.
Example 3 (works) :
(function () {
window.nameOfClass = "Two";
dojo.requireIf(window.nameOfClass == "One", "my.namespace.One");
dojo.requireIf(window.nameOfClass == "Two", "my.namespace.Two");
dojo.addOnLoad(function() {
var oneOrTwo = new my.namespace[nameOfClass]();
});
}());
- , requireIf . , - ?
1:
, (@Maine, @jrburke), debugAtAllCosts? ( / xd) - , ?
, , , ?
dojo.require(s). loader_xd (, , ) , , /, ?
2:
1 , .