AMD模型示例

http://dojotoolkit.org/documentation/tutorials/1.9/modules/

http://dojotoolkit.org/documentation/tutorials/1.9/declare/

应用:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    <script src="dojo-release-1.9.1/dojo.js" data-dojo-config="async:true"></script>
    <script>
    require(["dojo-release-1.9.1/firstModel","dojo/on","dojo/dom","dojo/domReady!"],
            function(firstModel,on,dom){
               on(dom.byId("mybtn"),"click",function(){
                   // firstModel.increment();
                   //alert(firstModel.getValue());
                   //dom.byId("mydiv").innerHTML=firstModel;
                   //第一种方式,必须实例化
                   var dm = new firstModel();
                   dm.showInnerHTML("mydiv","大家好,我成功了!");
                   //第二种方式,不用实例化
                   firstModel.showInnerHTML("mydiv","大家好,我成功了!");
               });
    });
    </script>
</head>
<body>
<input type="button" value="点击" id="mybtn">
<div id="mydiv"></div>
</body>
</html>

定义模型:

/*第一个例子
define(function(){
    var returnvalue=0;
    return{
        increment:function(){
            returnvalue++;
        },
        decrement:function(){
            returnvalue--;
        },
        getValue:function(){
            return returnvalue;
        }
    };
});*/

//第二个例子
define(["dojo/_base/declare","dojo/dom"],function(declare,dom){
   //第一种方式:调用时,需要先实例化
    return declare(null,{
            showInnerHTML:function(id,HTML){
            dom.byId(id).innerHTML=HTML;
        }
    });
   //第二种方式:调用时,不用使用构造函数,实例化
    return {
        showInnerHTML:function(id,HTML){
            dom.byId(id).innerHTML=HTML;
        }
    };
});

 

posted @ 2014-02-18 17:56  刘朝样  阅读(305)  评论(0)    收藏  举报