您好,登錄后才能下訂單哦!
原文地址:http://www.sencha.com/blog/integrating-ext-js-with-3rd-party-libraries/
作者:Kevin Kazmierczak
Kevin Kazmierczak is a Senior Technical Architect at Universal Mind, an innovative digital solutions agency that fuses the design capabilities of an interactive firm with the the technical expertise of a systems integrator. He specializes in building frontend applications using Objective-C, HTML/JS, and Flex. Kevin holds an MBA and a BA in Computer Science from Alfred University.
Ext JS提供了大量可高度自定義的直接就可以使用的內部組件。如果組件不在框架中,也可以容易的通過擴展類的方式,甚至通過瀏覽Sencha市場來獲取所需要的組件。這工作可能需要花費大量的時間,有時候為了節省時間,會考慮使用沒有包含在Ext JS組件系統的第三方庫。針對這種情況,有許多解決方案,而最簡單的方法就是創建一個自定義封裝組件來處理庫,這樣就可以在應用程序中實現重用。
封裝組件的目的是通過將第三方庫所需的邏輯封裝起來以方便配置以及與Ext JS框架實現交互。對于在應用程序中使用多少第三方庫的API,有很大的自由度。如果庫相當簡單,且希望對API的訪問進行控制,那就可以將API的每一個方法都封裝為對應的方法。這樣就可以在想要引用額外的自定義邏輯的時候隱藏對不想公開的方法或攔截方法的調用。另一種方式是公開一些API中的根對象,以便其他控件可以自由的通過對象直接調用任何API方法。在大多數情況下,這可能是最終的解決辦法,不過,不同的項目會有不同。
為了演示這一方式,將為Leaflet創建一個封裝組件Leaflet是一個由Universal Mind的 Vladimir Agafonki創建的開源的Javascript地圖庫。在應用程序中將使用這個封裝組件來顯示一張地圖,并提供一個按鈕來將地圖移動到一個指定位置。
Leaflet可以將來自許多不同的地圖服務的地圖塊整合起來,這樣就為地圖的顯示提供了極大的靈活性。在示例中,將使用CloudMade提供的地圖塊。可以到CloudMade的網站上注冊一個免費賬號,然后就可在后續的請求(后面的示例需要使用到)中使用獲得的API密鑰。要想了解更多的與地圖塊有關的信息,可訪問Leaflet的網站。
在應用程序中,首先要做的是在HTML文件中添加庫的引用,這樣才可以使用庫。在示例中,需要在HEAD元素內添加兩行來引用Leaflet。在Leaflet快速入門指南的Leftlet安裝文檔中可獲得更多的詳細信息。