dojo - डोजो पहलू परिभाषित नहीं, न समझें क्यों




undefined aspect (2)

उपयोग करने का प्रयास करें:

dojo.aspect.after(...);

के बजाय

aspect.after(...);

और अगले समारोह में मत रोको! :-)

यदि वह एक बार में काम नहीं करता है, तो पहलू को वैश्विक तरीके से लोड करने का प्रयास करें (डॉट के साथ, स्लेश नहीं):

dojo.require("dojo.aspect");

यह संभव भी हो सकता है, कि पुराने डोजो "/" के साथ संगत नहीं है और यह केवल डॉट्स के साथ काम करता है!

स्रोत:

http://livedocs.dojotoolkit.org/dojo/require

संपादित करें:

आपके बेला पर आधारित एक कामकाजी बेला है:

http://jsfiddle.net/9Xdv2/

आपके कोड में मुख्य समस्या यह थी कि आपने html को पार्स नहीं किया है डोजो पार्सर कुछ विशिष्ट HTML को "डोजो जावास्क्रिप्ट ऑब्जेक्ट्स" में परिवर्तित करता है! आप उस तरह का HTML बहुत से उपयोग करते हैं! आपको ये करना चाहिए था:

dojox.mobile.parser.parse();

सब कुछ जेएसफ़िल्ड में है!

लुसियान

मैं dojo 1.7 से 1.8.3 से अपडेट करना चाहता हूं इसलिए मुझे dojo.connect कमांड को बदलना होगा।

स्विच:

< div id="universalPushSwitch" data-dojo-type="dojox.mobile.Switch" style="float:right" class="mblSwRoundShape1"></div>

अब मेरे पास है:

dojo.require("dijit/registry");
dojo.require("dojo/ready");
dojo.require("dojox/mobile/ListItem");
dojo.require("dojo/aspect");

dojo.ready(function(){
  dojo.aspect.after(dijit.registry.byId("universalPushSwitch"), "onStateChanged", 
        function(newState){
        alert(newState);
    }
)});

फायरबग कहते हैं: "पहलू परिभाषित नहीं है"

पुनश्च: मुझे पता है कि मैं नये एएमडी लोडर का उपयोग नहीं कर रहा हूं यह एक पुरानी परियोजना है और मैं सभी डोजो सामानों के लिए भी नया हूँ। dojo.require("x");dojo.require("y"); से एक सरल अनुवाद dojo.require("x");dojo.require("y"); require(["x","y"], function (x,y){...} मेरे लिए काम नहीं करता है, इसलिए पुरानी शैली की आवश्यकता होती है।


चूंकि आप dojo 1.8.3 का उपयोग कर रहे हैं और dojo 1.7 का उपयोग कर रहे हैं, आप प्री -1.7 के बजाय AMD सिंटैक्स का उपयोग क्यों नहीं करते? आप ऐसा कुछ करते हैं:

<div id="universalPushSwitch" data-dojo-type="dojox/mobile/Switch" style="float:right" class="mblSwRoundShape1"></div>

और आपके जेएस में:

require(["dijit/registry",
         "dojox/mobile/ListItem",
         "dojo/aspect",
         "dojo/parser",
         "dojo/domReady!"
         ], function(registry, ListItem, aspect, parser){

    parser.parse().then(function(instances){
        aspect.after(registry.byId("universalPushSwitch"), "onStateChanged", 
           function(newState){
               alert(newState);
           });
    });
});






aspect