ArcGIS API For JavaScript官方文档之Dojo——Work with Dojo

翻译 2018年04月15日 16:00:18

    Working with Dojo

    Dojo是一个开放源代码工具包,它帮助您编写健壮高效的JavaScript代码。JavaScript是一种在Web浏览器中运行的语言,并且有各种各样的Web浏览器可以用不同的方式来解释JavaSript。诸如Dojo、jQueryYUIPrototype和其他许多工具包都设计用来抽象浏览器特性,这样您就不必再代码中学习它们并处理它们。

    使用javascript来编码完成相同的事情通常有几种方法。像dojo这样的工具包提供了您可以使用的函数来实现更简单或更高效的方法。使用工具包中的库可以减少编写代码的行,使javascript应用程序更加快捷和更稳定。

1、ArcGIS API for JavaScript是基于dojo之上的,意味着什么?

    创建ArcGIS API for JavaScript的开发人员使用dojo简化了它们的开发过程,并确保您构建的应用程序在不同浏览器中表现相同。例如,map zoom和panning animations使用dojo,graphics layer也是如此。

    此外,您在javascript API maps中看到的zoom level slider和info window是Dojo widgets(Dijits)。slider Dijit由Dojo提供,而info window是由Esri创建的自定义dijit。

2、为了使用ArcGIS API for JavaScript,我需要知道多少dojo的内容?

    当您使用ArcGIS API for JavaScript时使用的Dojo内容数量取决于您,但是您至少需要使用几个常用函数:

    dojo.require

    dojo.require类似于HTML页面中的<script>标签,它将资源导入到您的JavaScript页面

// AMD
require(["esri/map", ... ], function(Map, ... ){ ... });

// legacy
dojo.require("esri.map");

    dojo.ready

    dojo.ready(或者dojo.addOnLoad)类似于<body onload="">。它在页面完成加载之后注册一个初始化块

// AMD
require(["dojo/ready"], function(ready){
  ready(function(){
    // This function won't run until the DOM has loaded and other modules that register have run.
  });
});

// legacy
dojo.ready(init);

    dojo.connect

    dojo.connect类似于JavaScript中的Element.addEventListener()函数和Element.attachEvent函数。它注册监听器侦听页面上对象或元素上的特定事件,并返回函数中的结果。

// AMD
require(["esri/map", "dojo/on"], function(Map, on) {
  // ...
  on(myMap, "load", callback);
});

// legacy
dojo.connect(myMap, "onLoad", myLoadHandler);

    dojo.byId

    dojo.byId类似于JavaScript中的document.getElementById()函数,函数搜索并返回具有该参数id的第一个html元素。

dojo.byId("myInputField").value = myMap.id;

2、利用完整的Dojo工具包

在编写你应用程序时,您可以利用完整的dojo工具包,其中包括buttons、grids、tree views、charts和其他widgets。该工具包分为三个部分:

  • Core——基本函数,如上面列出的函数
  • Dijit——小部件,如trees、menus和buttons
  • DojoX——在不同的开发阶段的扩展项目,如graphics,grids和charts

正如前面所说,您可以开始构建基于最少的Dojo知识的ArcGIS API for JavaScript的应用程序。但是,你知道的Dojo越多,你就能完成得越多。Dojotoolkit.org的tutorialsdocumentation是一个很棒的开始。

ArcGIS API for JavaScript 需要在DoJo中加载的资源

The amount of Dojo you use when you work with the ArcGIS API for JavaScript is up to you, but at a m...
  • lc_2014c
  • lc_2014c
  • 2015年06月06日 17:18
  • 1088

关于ArcGIS API for JavaScript与Dojo

一、为什么说ArcGIS API for JavaScript是构建于Dojo之上的? 1. 编写ArcGIS API for JavaScript的ESRI开发者使用Dojo来简化他们的开发过程,...
  • jinxiumeihappy
  • jinxiumeihappy
  • 2014年09月16日 16:20
  • 1749

第三篇 Arcgis api for js之dojo框架使用

学习要点: 1、dojo框架; 2、dojo框架下类的定义与继承; 3、dojo资源: http://dojotoolkit.org/api/ http://dojotoolkit.org/downl...
  • neil89
  • neil89
  • 2015年08月27日 15:01
  • 8929

解决ArcGISServer JavaScript API dojo未定义

ArcGISServer JavaScript API是才用的utf-8编码,当我们建的网站设置成gb2312编码时,就会报dojo未定义的错误,此时只需在引入JavaScript api时声明utf...
  • zjt107
  • zjt107
  • 2012年02月08日 12:15
  • 3980

通过ARCGIS for Javascript api 加载数据 ,并显示在dojo的FilteringSelect上

首先创建一个FeatureLayer,不加载到地图上,调用feature layer的query 方法 var treeList = new esri.layers.FeatureLayer...
  • lowkeyway
  • lowkeyway
  • 2012年03月20日 19:43
  • 2794

Dojo1.11官方教程文档翻译(1.1)开启Dojo之旅

1.4 开启Dojo之旅原文地址:https://dojotoolkit.org/documentation/tutorials/1.10/start/index.html 本翻译GitBook地址...
  • taijiedi13
  • taijiedi13
  • 2016年11月12日 23:06
  • 1338

dijit之TooltipDialog

dijit之TooltipDialog
  • qingqingzijinxin
  • qingqingzijinxin
  • 2016年08月07日 16:44
  • 773

arcgis for js 从入门到放弃二:dojo初识和arcgis的多种写法

关于arcgis api 和dojo的关系,只需知道该js api是构建于dojo上,从而充分利用dojo来屏蔽各浏览器差异。 这个框架又大又冷门。不过所幸,玩arcgis对dojo不需要懂太多,很多...
  • qq_36722175
  • qq_36722175
  • 2017年07月08日 15:27
  • 1254

dojo/dom-construct

toDom方法用来将html标签字符串转化成DOM节点。 require(["dojo/dom-construct"], function(domConstruct){ // Take a ...
  • wenjinglala
  • wenjinglala
  • 2016年11月01日 10:38
  • 304

dojoConfig配置自定义模块

dojo 加载自定义module的路径问题 因为最近想学学ArcGIS API for JavaScript ,翻了下ESRI的官网guide,发现其是基于dojo框架的,看了两页实在看不懂,于...
  • niusi1288
  • niusi1288
  • 2017年09月04日 14:30
  • 219
收藏助手
不良信息举报
您举报文章:ArcGIS API For JavaScript官方文档之Dojo——Work with Dojo
举报原因:
原因补充:

(最多只允许输入30个字)