Dojo框架學習筆記<一>

由於工做剛接觸到dojo框架,網上找各類資料,發現不多不多(大可能是之前的),只能看官網學習了,英文不行,一邊翻譯一邊學習,還能學點單詞...呵呵算法

我在Apache下運行Dojo demo,初學,但願有理解不對的地方指點指點...編程

1、先總的來認識一下dojo的工具包:api

  ①dojo數組

  dojo框架的核心包。dojo裏廣泛實用的軟件包、模塊都在裏面,如:Ajax、DOM操做、類編程、事件、異步Promises、數據存儲、拖放以及本地化與國際化等...緩存

  ②dijit數據結構

  小部件框架和內建的小部件集。app

  ③dojox框架

  它是創建在dojo和dijit之上,有些模塊在實驗階段,有些已經很成熟。dom

  ④util異步

  支持其餘的工具包,可以編譯測試和文檔代碼。

  ⑤dgrid

  輕量級表格控件

  ⑥gridx

  以快速渲染、模塊化、插件爲基礎的控件,數據結構與算法、數據處理與通訊、實用工具、圖形 API 以及 Web UI 等。

2、AMD(異步模塊加載機制)

  模塊:是一個能夠被單個參考訪問的值,若是有多個數據或者功能要在一個模塊中,那麼他們必須是指向模塊的一個單個對象的屬性,一個模塊一般是一個單一的JavaScript文件。

  模塊的加載機制:經過兩個全局函數require/define加載模塊

  require({提供的對象}[模塊依賴列表(字符串數組)],fun(callback)),參數都是可選的;

  require(["my/app","dojo"],function(app,dojo){

    .....

    //只是加載了模塊,沒有返回本身的值

  });

  define("模塊名",[模塊依賴列表(字符串數組)],fun(模塊的值是函數的返回值)/value),前兩參數可選;

  define("my/mapper/api",[

  "dojo/_base/declare",

      ...,

  "dojo/domReady!"],function(declare,...,ready){

  return ....

  //加載了模塊,也提供了值

  });

  AMD:Asynchronous Module Definition(異步模塊加載機制),模塊的定義,依賴關係,引用關係以及加載機制。

3、dojoConfig:

  dojoConfig是配置dojo的主要機制,它被模塊加載器引用着,也是Dojo組件的全局選項,若是須要,也能夠進一步被自定義程序配置點使用。

  dojoConfig = {

    has:{

      "dojo-firebug": true

    },

    parseOnLoad: false,
         foo: "bar",
         async: true

  };

    has:經過包含一個對象特性的散列值作爲has的特性,這個特性設置是爲了決定Dojo支持的某一能力。dojo-firebug:調試配置;

    parseOnLoad:是否在頁面加載完成之後執行解析功能(dojo/parser);

    async:是否異步。

    baseUrl: 當轉化一個模塊標識符爲地址或者URL時,baseUrl將添加給它。

    packages: 一個對象數組,它提供了包的名字和位置。

    aliases: 容許你設置模塊的別名。

    paths: 容許自定義路徑。

    packagePaths: 速記符號,能夠用來指定多個相同根目錄的包配置。

    deps: 一個應該在Dojo載入完成後當即載入的資源路徑數組。

    callback: 一個在deps被取出後執行的回調函數。

    waitSeconds: 等待加載模塊超時時間,默認爲0(永遠等待)。

    cacheBust:若是爲true,添加時間值到每一個模塊URL中做爲querystring避免模塊緩存。

  Dijit,DojoX,它們的模塊標誌和行爲是能夠被設置的,一樣也能夠在你本身的應用程序和模塊中使用

相關文章
相關標籤/搜索