Dojo 使用笔记

1.dojo定义类

dojo.declare(
    "com.GeoWeb2.Shape.Shape" , // 类名
     null, // 无父类,使用null
    {
        color: 0,
        setColor: function(color ) {
            this.color = color;
        }
    }
);

2. dojo定义模块

以此种方式将第1步中定义的类暴露出去,将其写在第1步的同一个js下

dojo.provide( "com.GeoWeb2.Shape.Shape" );

3. dojo继承

首先引入第1步定义的类

dojo.require( "com.GeoWeb2.Shape.Shape" );

暴露本类

dojo.provide( "com.GeoWeb2.Shape.Circle" );

继承类定义

dojo.declare(
    "com.GeoWeb2.Shape.Circle" ,
    "com.GeoWeb2.Shape.Shape",
    {
        radius: 0,

        constructor: function(radius ) {
            this.radius = radius || this .radius;
        },

        setRadius: function(radius ) {
            this.radius = radius;
        },

        area: function() {
            return Math.PI * this.radius * this.radius;
        }
    }
);

4. dojo使用自定义模块

在页面中使用自定义模块,需要声明模块的查找路径,这里的html文件跟com文件夹处于同一文件夹下,所以第二个参数是这么写的,如果你自己做的话注意这里的路径。

dojo.registerModulePath( "com.GeoWeb2.Shape" , "com/GeoWeb2/Shape");

获取shape模块,跟第二步继承一样,用谁,就require谁

dojo.require( "com.GeoWeb2.Shape.Shape" );

构造shape对象

var shape = new com.GeoWeb2.Shape.Shape();