Ha legacy módban használjuk a Dojo loader-t (
async: false), akkor a
dojo/_base modulok alapból betöltődnek.
Arrays (dojo/_base/array)
A natív Array kiterjesztéseit tartalmazza: indexOf(), lastIndexOf(), forEach(), filter(), map(), some(), every().
Példa: demo/Array.htm
require([ "dojo/_base/array" ], function(arrayUtil) {
var original = [ "one", "two", "three", "four", "five" ];
var transformed = [];
arrayUtil.forEach(original, function(item, index) {
transformed.push({
id : index * 100,
text : item
});
}); // [ { id: 0, text: "one" }, { id: 100, text: "two" }, ... ]
var mapped = arrayUtil.map(original, function(item, index) {
return {
id : index * 100,
text : item
};
}); // [ { id: 0, text: "one" }, { id: 100, text: "two" }, ... ]
var arr1 = [ 1, 2, 3, 4, 5 ];
var arr2 = [ 1, 1, 1, 1, 1 ];
arrayUtil.every(arr1, function(item) {
return item == 1;
}); // returns false
arrayUtil.some(arr1, function(item) {
return item == 1;
}); // returns true
});
dojo/_base/lang
Ebben a modulban egyrészt a polimorfizmust támogató függvények találhatóak, másrészt olyan nyelvi konstrukciók, amik elengedhetetlenek a toolkit más részei számára: clone(), delegate(), exists(), extend(), hitch(), mixin(), partial(), replace(), setObject(), trim()
hitch
Amikor egy függvényt végrehajtunk, szem előtt kell tartani, hogy milyen kontextusban is fut. Ez főleg akkor érdekes, ha a függvényben használtuk a this-t, ami becsapós tud lenni. A this értékét explicit be lehet állítani az apply() és a call() metódusokkal, azonban ha például egy callback függvénynél szeretnénk módosítani ezt, akkor mindig szükségünk lesz egy wrapper függvényre, ami rontja az olvashatóságot. Erre ad egy kényelmi megoldást a Dojo. A hitch() visszatér egy olyan függvénnyel, ami egy adott függvényt egy adott kontextusban fog végrehajtani.
// this will be the input element not myObject
on(dom.byId('myButton'), 'click', myObject.myHandler);
on(dom.byId('myButton'), 'click', function(evt) {
myObject.myHandler.call(myObject);
});
on(dom.byId('myButton'), 'click', lang.hitch(myObject, 'myHandler'));
partial
Kidolgozásra vár.