Dojo.declare使用方法詳解


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) {
         
    });
});

  或

 1 require([
 2         "dojo/_base/declare"
 3     ],
 4     function (
 5         declare,
 6        
 7     ) {
 8        return declare(
 9          /*className: 是要要申明的類的類名,也就是創建的構造函數的名稱。*/            
10               "className",     
11         /*superclass:所要繼承的父類,此參數可為 null,表示沒有父類,或者為一個父類,或為多個父類的數組,*/
12               superclass,      
13         /*你自己定義的一些放大什么的*/
14             (  props   )           
15         /*props:散列體,由名、值(key, value)對組成,這個散列體將被添加到定義的類的原型對象中,也即為定義的類被其所有實例共享的屬性及方法。
16 其中,key :constructor 為保留字,此函數用來初始化新對象。
*/ 17 ); 18 } 19 );

其中 props的寫法如下:

1 ShowRemoteMap: function (map_,_RemoteUrl,_FeatureLayerURL) {
2               /*你自己定義的一些方法邏輯*/
3                 },
4 
5 HideRemoteMap:function(map_,_LFQPUrl,_FeatureLayerURL){
6              /*你自己定義的一些方法邏輯*/       
7                 }

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 指向構造函數的實例

目前還有很多需要摸索的地方,在以后的工作中,慢慢記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM