/ / Caricamento delle variabili del modulo in Dojo? - dojo

Caricamento delle variabili del modulo in Dojo? - dojo

Sono nuovo nel dojo e non riesco a capire perché questo sta accadendo

in dojo.html:

require(["dojo/query", "dojo/NodeList-dom", "dojo/domReady!", "a" ], function(query, a) {
query("#greeting").style("color", "red");
alert(a.sheep);
});

in a.js

define([], function() {
var a = {
"sheep": "blah",
}
return a;
});

Richiedere e caricare il modulo a va bene, ma quandoProvo ad avvisare a.sheep, mi sento indefinito. Nota: ho anche provato a dichiarare le pecore: "blah" e provare a cambiare le pecore in una funzione di avviso ea eseguire a.sheep, che ha funzionato.

risposte:

2 per risposta № 1

il motivo per cui non puoi accedere a.sheep è che c'è dojo/NodeList-dom modulo in a variabile. L'ordine degli elementi in define/require la matrice è legata alla lista di argomenti nel successivo function. Quindi dovresti scrivere:

require(["dojo/query", "a", "dojo/NodeList-dom", "dojo/domReady!"], function(query, a) {

})

Anche dal punto di vista pratico mi capita di formattare il mio codice in questo modo:

define([
"dojo/_base/declare",
"dojo/query",

"a",

"dojo/NodeList-dom",
"dojo/domReady!"
],
function(
declare
query,

a
){

return declare(null, {

constructor: function() {}

});
});

Ogni modulo sulla propria linea, oltre al raggruppamento logico dei moduli tramite linee vuote.