dojo的自定义模块和自定义类

由于dojo框架的模块化思想 所以dojo提供了很方便的自定义模块的方法

自定义模块:define 关键字  

例子

define(["dojo/_base/declare"],function (declare) {
    var myfunction=function () {
        console.log('自定义模块')
    }
    return {
        myfunction:myfunction,
        attr:'5555'
    };

})

define函数的 参数 1  各种依赖模块

                    参数 2  模块本身逻辑

完成: return 某个值(属性 函数 或者对象 如果没有return 那加载不出来什么)

引用自定义模块

require([
  "esri/Map",
  "esri/views/MapView",
  "dojodefine/mydefine.js",
  "dojo/domReady!gis/4.3"
], function(Map, MapView,mydefine){
//do something
})

我将新模块定义在dojodefine文件夹下的mydefine.js文件下

自定义类:declare关键字  

类是在模块里定义的  要明确两者关系  类的定义要用到“dojo/_base/declare" 模块

1 定义模块

2 引入declare

3 使用declare函数定义类

4 返回类

5使用类

/**
 *作者  15879 -  LRH
 *创建时间 2018  2018/4/22  10:48
 **/
define(["dojo/_base/declare"],function (declare) {
    /**
     * @author  15879
     * @create  2018/4/22 10:52
     * 参数1 继承的父类
     * 参数2 对象散列值  定义类的属性方法 构造函数
     **/
    var myclass=declare(null,{
            id:'fd',
            attr1:'属性',
            constructor:function(name){
            this.id=name;
        },
            showattr:function () {
               //逻辑操作
                return {
                    id:this.id,
                    attr:this.attr1
                }
        }
    })
    
    return myclass;
})
引用后需进行new 操作进行实例化 即可使用对象



猜你喜欢

转载自blog.csdn.net/qq_36375770/article/details/80036740