2012-03-29 20 views
0

私はdojoツールキットの理解に基本的な問題があると思います。まあ、私はjavascriptの変数を戻し、別の関数でそれを呼び出すには知っているが、このように動作します:dojoのreturn文はどのように機能しますか?

function a(){ 
    var x=5; 
    return x; 
} 

function b(){ 
    var y=a(); 
    console.log(y); 
} 

さて、今私は)(関数bでimgsizeを必要とします私の道場コードを表示することができます。おそらくuが私を助けることができます:)

require(["dojo/window"], function(win){ 
     // Get the viewport-size of the document: 
     var viewportsize =win.getBox(); 
     var imgsize = (viewportsize.w)/4; 
    }); 


function b(){ 
    var x = ??????? 
} 
+0

非同期であるため、dojo/windowがロードされる前にimgsizeにアクセスすることはできません。 – Bergi

答えて

2

をあなたはスコープの問題を持っている...私は私の関数b()でimgsizeを呼び出すために、全体の午後を試してみましたが、私はそれを得るdidnÄt。関数内で変数を定義したので、関数が実行されるとimgsizeはなくなります。

require(["dojo/window"], function(win){ 
    // Get the viewport-size of the document: 
    var viewportsize =win.getBox(); 
    dojo.setObject('imageSize', (viewportsize.w)/4); 
}); 


function b(){ 
    var x = dojo.getObject('imageSize'); 
} 
関連する問題