ArcGIS API for JavaScript是基于dojo开发的一套API,在实际生产中,我们需要再根据自己的需求实现自定义的功能,最后抽象成接口给前端调用。

我们使用dojo的declare来实现。

declare有很多种写法,如果你要定义一个自己的模块时,可使用define。define() 函数提供了返回值并延迟加载依赖项的可能性,所以此命令适用于定义模块。创建模块时,将返回一个对象。

这也意味着  require() 函数的主要用途是导入模块,而该  define() 函数用于定义您自己的自定义模块及其所需的依赖项。

require的包是"dojo/_base/declare" 依赖项是declare

范本:

define([
"dojo/_base/declare", "esri/layers/GraphicsLayer"
], function (
declare, GraphicsLayer
) {
return declare([GraphicsLayer], {
constructor: function(options) { });
});

  或

 require([
"dojo/_base/declare"
],
function (
declare, ) {
return declare(
/*className: 是要要申明的类的类名,也就是创建的构造函数的名称。*/
"className",
/*superclass:所要继承的父类,此参数可为 null,表示没有父类,或者为一个父类,或为多个父类的数组,*/
superclass,
/*你自己定义的一些放大什么的*/
( props )
/*props:散列体,由名、值(key, value)对组成,这个散列体将被添加到定义的类的原型对象中,也即为定义的类被其所有实例共享的属性及方法。
16 其中,key :constructor 为保留字,此函数用来初始化新对象。*/
);
}
);

其中 props的写法如下:

 ShowRemoteMap: function (map_,_RemoteUrl,_FeatureLayerURL) {
/*你自己定义的一些方法逻辑*/
}, HideRemoteMap:function(map_,_LFQPUrl,_FeatureLayerURL){
/*你自己定义的一些方法逻辑*/
}

dojo的declare解析

https://www.ibm.com/developerworks/cn/web/1203_xiejj_dojodeclare/

这次学习写接口的过程中,认识到JavaScript中的this指向的重要性,附上学习地址

https://blog.csdn.net/qq_33988065/article/details/68957806

概括下来大概是:(1)方法调用中谁调用 ,this 就指向谁

(2)在构造函数或者构造函数原型对象中 this 指向构造函数的实例

目前还有很多需要摸索的地方,在以后的工作中,慢慢记录。

最新文章

  1. Hadoop 集群搭建
  2. 新特性AAtitti css3 新特性attilax总结titti css
  3. java 读写word java 动态写入 模板文件
  4. 2013-07-23 IT 要闻速记快想
  5. Python连接Redis连接配置
  6. bzoj1005
  7. bootstrap基础样式使用
  8. java两种动态代理方式的理解
  9. VxWorks 符号表
  10. Linux下的Shell编程(1)最简单的例子
  11. 如何在Cocos2D游戏中实现A*寻路算法(五)
  12. 在CentOS下面安装hue时报的错
  13. solus 系统 - 怎么使用中文输入法?
  14. Qt5数据库
  15. Python的网络编程--思维导图
  16. mysql加密函数
  17. 6/4 sprint2 看板和燃尽图的更新
  18. HDFS的工作流程分析
  19. 【BZOJ 2665】 2665: [cqoi2012]编号(暴力?)
  20. Mysql 5.7 主从复制

热门文章

  1. 前后端分离及Element的使用
  2. JavaScript实现动态轮播图效果
  3. CODING 代码多仓库实践
  4. 二维码生成插件qrious
  5. Pytorch 记录
  6. EF Core 中处理 1对1 关系
  7. CefSharp 修复Demo无法在其它路径下启动问题
  8. NET Core 3.0 项目中使用 AutoFac
  9. 挑选(pick)
  10. How to: Initialize Business Objects with Default Property Values in XPO 如何:在 XPO 中用默认属性值初始化业务对象