Som nováčik dojo a nemôžem zistiť, prečo sa to deje
v dojo.html:
require(["dojo/query", "dojo/NodeList-dom", "dojo/domReady!", "a" ], function(query, a) {
query("#greeting").style("color", "red");
alert(a.sheep);
});
v a.js
define([], function() {
var a = {
"sheep": "blah",
}
return a;
});
Vyžadovanie a načítanie modulu a je v poriadku, ale kedySnažím sa upozorniť a.sheep, mám nedefinované. Poznámka: Aj ja som sa snažil deklarovať ovce: "bla" a skúsiť zmeniť ovce na funkciu varovania a spustiť a.sheep, čo fungovalo.
odpovede:
2 pre odpoveď č. 1dôvod, pre ktorý nemáte prístup a.sheep
je to, že existuje dojo/NodeList-dom
modul v a
variabilné. Poradie prvkov v define/require
pole sa viaže na zoznam argumentov v nasledujúcom function
, Takže by ste mali napísať:
require(["dojo/query", "a", "dojo/NodeList-dom", "dojo/domReady!"], function(query, a) {
})
Z praktického hľadiska sa mi stáva aj formátovanie môjho kódu takto:
define([
"dojo/_base/declare",
"dojo/query",
"a",
"dojo/NodeList-dom",
"dojo/domReady!"
],
function(
declare
query,
a
){
return declare(null, {
constructor: function() {}
});
});
Každý modul na vlastnej linke plus logické zhlukovanie modulov cez prázdne linky.