• arcgis api for javascript学习(2016.10.18)


    自定义模块的定义和使用:

      dojo的自定义模块使用define。

      dojo的js模块就是一个js文件,文件中使用如下形式定义:

      

    define(
        [
        "dojo/_base/declare",
        "dojo/_base/lang",
        "esri/request"
        ],
        function(declare,lang,esriRequest){
            return declare(null,{
                constructor:function(options){
                    this.distance=options.distance||'20mi';
                },
                func:function(){
                    return this.distance;
                }
            });
        }
    );

      格式和require类似,第一个参数表示会用到的模块;第二个参数是一个函数,函数参数和第一个参数对应,函数体中进行相关代码编写。

      define定义模块,但是模块只是一个组织概念,要使用自定义的函数、变量,我们需要一个结构将这些内容打包并返回。我们使用declare定义这种结构(或者叫类),然后在define第二个函数参数的返回值中返回,然后我们在外面的模块就可以使用这里定义的函数和变量了。

      

    模块的使用:

      模块定义好,放在项目的一个文件夹中,但是如何使用require进行访问呢?这需要在dojo初始化配置参数中,对应路径:

      

    var dojoConfig={paths:{extras:location.pathname.replace(//[^/]+$/,'')+"/scripts/dtest"}}

      在引入dojo,或者init之前定义dojoConfig变量,格式如上:extras是自定义的虚拟路径,用于在requre引入的时候使用。后面则是自定义的js模块文件所在的url。

      然后就是引入:

      

        require([
          "extras/tmodule",
          "dijit/layout/BorderContainer", 
          "dijit/layout/ContentPane", 
          "dijit/TitlePane",
          "dojo/domReady!"
        ], function(mtest) {
            alert(mtest);
            alert(typeof mtest);
          var b = mtest({}).c2({});
          alert(b.getm());
          alert(s.getMore());
        });
  • 相关阅读:
    CSS3动画设置后台登录页背景切换图片
    类别联动下拉菜单
    自己写的一个逻辑分页
    TP5多入口设置
    zabbix安装配置界面点击next step没反应
    nginx访问不了zabbix安装配置界面
    mount挂载问题
    linux下ssh的几种验证方式
    linux下nat配置
    Linux命令行上程序执行的那一刹那!
  • 原文地址:https://www.cnblogs.com/z964166725/p/5972153.html
Copyright © 2020-2023  润新知