• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    麻雀雖小五臟俱全Dojo自定義控件應用_dojo

    來源:懂視網 責編:小采 時間:2020-11-27 20:54:52
    文檔

    麻雀雖小五臟俱全Dojo自定義控件應用_dojo

    麻雀雖小五臟俱全Dojo自定義控件應用_dojo:現在Javascript框架、控件庫有很多,jQuery、Ext、prototype、MooTools、Dojo等等,這些都是在Google上搜索javascript+framework列在第一頁的。其中,除了MooTools,其它的都有所了解,但只在項目中用過Ext和Dojo。但一直不太喜歡Ext,性能有問
    推薦度:
    導讀麻雀雖小五臟俱全Dojo自定義控件應用_dojo:現在Javascript框架、控件庫有很多,jQuery、Ext、prototype、MooTools、Dojo等等,這些都是在Google上搜索javascript+framework列在第一頁的。其中,除了MooTools,其它的都有所了解,但只在項目中用過Ext和Dojo。但一直不太喜歡Ext,性能有問

    現在Javascript框架、控件庫有很多,jQuery、Ext、prototype、MooTools、Dojo等等,這些都是在Google上搜索“javascript+framework”列在第一頁的。其中,除了MooTools,其它的都有所了解,但只在項目中用過Ext和Dojo。但一直不太喜歡Ext,性能有問題,新的版本還收費了。

    另外,Ext官方提供的例子都是用JavaScript來創建和初始化控件,一個JavaScript配套一個HTML來用,這樣管理起來很混亂。而且官方例子是Best Practice,所以不太接受這種模式。Dojo在本人眼里是一個缺點和優點都很突出的家伙:

    缺點:

    1、文檔非常之差;

    2、CodeBase非常之大(優點乎,缺點乎?);

    3、版本演進快,且每次版本演進,都有大量的API發生變化,還不夠成熟。

    優點:

    1、是一個很優秀的控件開發框架;

    2、完全體現了javascript面向對象的一面。

    EXT和Dojo比起來,本人覺得EXT是一個控件庫,而Dojo是一個框架。第一次接觸Dojo,當時版本0.3.X,今天項目中又有需求想用Dojo,版本是1.3.1,對比0.3和1.3,發現核心的思路并沒有太大變化,但出廠提供的控件卻有翻天覆地的變化,不過已經先入為主的對它的控件有成見,導致現在也沒有興趣再去研究,還是講講如何拿Dojo做自定義的控件吧。Dojo很復雜,但我們可以簡單的認為它分三層:

    1、最底層的是核心API

    核心API提供的方法簡化了DOM、字符串、CSS、事件等相關的操作。核心API還實現了類似于Java的package概念和import機制,方便了代碼組織和依賴管理。

    2、基于核心API,創造了“控件生命周期”概念

    這是Dojo的亮點,允許第三方以規范的方式開發控件?;贒ojo開發的控件具有很強的內聚性和面向對象的特性。

    3、基于2所開發的各類控件

    Dojo自己提供的控件也比較全了,只是由于歷史原因,沒有深入研究過。

    Dojo的控件統稱DIJIT,要寫出Dojo版的Hello World控件,你需要了解的知識并不太多:

    ◆一個控件就是一個JS類;

    ◆所有的控件都繼承自_Widget或其子類,_Widget類提供了控件的生命周期管理函數;

    ◆可以同時繼承_Templated,繼承該類,可以為控件綁定模板來描述控件的展示。
    關于_Widget基類的介紹
    1、生命周期方法
    _Widget提供了一系列方法稱為“生命周期方法”,Dojo框架在初始化一個控件的時候,會依次調用它們,我們的自定義控件,可以重寫特定的方法來加入自己的初始化邏輯,方法調用順序及說明:
    代碼如下:
    preamble(/*Object*/ params, /*DOMNode*/node)
    //這是一個通常不會用到的方法,這個方法的返回值,作為constructor的輸入參數param
    constructor(/*Object*/ params, /*DOMNode*/node)
    // 這個方法相當于java類的構造函數
    // 在這個類中執行初始化動作
    postscript(/*Object*/ params, /*DOMNode*/node)
    //實際的控件創建過程,依次調用如下方法(都可以被重寫)
    _Widget.create(/*Object*/params, /*DOMNode*/node)
    _Widget.postMixInProperties( )
    _Widget.buildRendering( )
    _Widget.postCreate( )
    //我用得最多的是postCreate方法,這個方法中,控件已經初始化完畢,界面上也已經顯示出來了,
    //通常在這個方法中啟動業務相關的處理

    2、該類的幾個重要屬性(控件可以通過this訪問)
    ◆id:控件被授予的唯一編號,如果用戶不指定,則Dojo隨機創建一個。
    ◆domNode:該控件在HTML中對應的DOM節點。
    最基本的自定義控件示例:
    js文件:./hello/world.js(以下涉及到文件名,都用相對路徑,其中./代表和"Dojo,dijit,Dojox"同級目錄)。
    代碼如下:
    //聲明自己輸出的類名
    Dojo.provide("hello.world");
    //聲明自己依賴的類名Dojo.require("dijit._Widget");
    Dojo.require("dijit._Templated");
    //Dojo.declare定義控件類,第一個參數:類名,第二個參數:父類數組,第三個參數:類的prototype
    Dojo.declare("hello.world",[dijit._Widget,dijit._Templated],
    {
    postCreate:function(){
    this.domNode.innerHTML="hellow world";
    }
    }
    );

    該控件的行為極其簡單,在postCreate方法中,將自己在HTML頁面中對應的DOM節點的內容設置為hellow world。
    代碼如下:


    Hello World

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    麻雀雖小五臟俱全Dojo自定義控件應用_dojo

    麻雀雖小五臟俱全Dojo自定義控件應用_dojo:現在Javascript框架、控件庫有很多,jQuery、Ext、prototype、MooTools、Dojo等等,這些都是在Google上搜索javascript+framework列在第一頁的。其中,除了MooTools,其它的都有所了解,但只在項目中用過Ext和Dojo。但一直不太喜歡Ext,性能有問
    推薦度:
    標簽: 控件 do dojo
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美精品亚洲日韩aⅴ| 久久伊人精品青青草原高清| 亚洲国产精品成| 久久精品水蜜桃av综合天堂| 久久久久亚洲精品无码网址 | 久久精品国产91久久综合麻豆自制 | 麻豆成人久久精品二区三区免费| 国产精品国产AV片国产| 欧美国产日本精品一区二区三区| 国精品无码一区二区三区左线| 亚洲电影日韩精品| 欧美人与性动交α欧美精品| 精品久久人人妻人人做精品| 国产综合精品蜜芽| 国产精品亚洲综合专区片高清久久久 | 国产精品高清在线观看| 国产69精品久久久久99| 99久久精品国产一区二区蜜芽| 久久精品视频网| 99re国产精品视频首页| 国产精品女同一区二区| 国产成人亚洲综合无码精品| 国产精品毛片一区二区三区| 久久久久99精品成人片欧美| 久久精品国产99久久久| 国产中老年妇女精品| 国产精品成熟老女人视频| 99在线精品视频观看免费| 国产成人久久精品一区二区三区| 久久狠狠高潮亚洲精品| 久久精品国产亚洲AV无码麻豆 | 日本熟妇亚洲欧美精品区| 亚洲精品无码成人片在线观看| 无码人妻精品一区二| 中文字幕久精品免费视频| 亚洲高清专区日韩精品 | 2022国产精品不卡a| 国产精品一区在线播放| 51久久夜色精品国产| 精品成人一区二区三区四区| 久久久久亚洲精品天堂久久久久久|