2014-10-07 79 views
0

大家好,無法訪問的對象創建使用require.js

我最近剛開始學習的require.js,但我似乎不明白如何做整個機制工作...特別是如何訪問使用此JavaScript庫創建的變量/對象。

讓我在下面的例子進一步解釋吧..

根目錄/ page.jsp

<html> 
<script data-main="js/page" src="js/lib/require.js"></script> 
</html> 

根目錄/ JS/common.js

requirejs.config({ 
    baseUrl: 'js/lib', 
    paths: { 
     app: '../app', 
    } 
}); 

webroot/js/app/page.js

require(['./common'], function (common) { 
    require(['./app/page/init'], function(page) 
    { 
     page.load(1); 
    }); 
}); 

根目錄/ JS /應用/頁/ init.js

define(['./load'], function (load) { 
    var LoadPage = new load(); 
    return LoadPage; 
}); 

根目錄/ JS /應用/頁/ load.js

define(function() { 
    function loadPage() { 
    } 

    loadPage.prototype = { 
     load: function (page_id) { 
      console.log("Opening page "+page_id+" "); 
     } 
    }; 

    return loadPage; 
}); 

現在,當我運行該頁面一切正常,但現在我想通過點擊一個按鈕來執行加載方法。

<div onclick="page.load(2);"> </div> 

但這並不work..So我想知道是否有綁定這個動作對任何按鈕或鏈接...無論任何可能性..

(抱歉我不好英語)

謝謝, 亞歷克斯

回答

0

如何如下假設你正在使用JQuery:

<div id="divPageLoad"></div> 

<script language="javascript" type="text/javascript"> 
    $("#divPageLoad").on("click", function() { 
     page.load(2); 
    }); 

</script> 
+0

我認爲你是對的,這可能是我可以將該功能綁定到按鈕的唯一方法。 – Wracker 2014-10-08 06:50:23