自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Titanium TiMVC功能擴展:添加第三方類庫的使用

移動開發(fā)
在上一篇文章《Titanium MVC框架:介紹與使用》中介紹了 TiMVC 的基本結(jié)構(gòu)和使用,雖然此框架整體上來說已比較清晰完善了,但在實際使用中,其配置選項感覺有些雞肋,因為這些配置一般都不需更改。

現(xiàn)在我介紹的就是如何自己添加需要的配置,如本篇將介紹的是如何方便地將第三方類庫整合到此框架中使用,最終目的是只需在config里添加一個新的類庫名稱就可以自動加載,然后在框架的控制器、視圖和模塊里任意調(diào)用 :cool: 

先看看我們最終要實現(xiàn)的效果,如我要添加一個 underscore.js 和 redux.js 2個類庫到框架中,那么只需在配置里添加以下代碼:

  1. /** 
  2. * Vendor folder path 
  3. * @type String 
  4. */ 
  5. vendorPath : "mvc/vendor/", 
  6.  
  7. /** 
  8. * Load vendor 
  9. * @type array 
  10. */ 
  11. loadVendor : [{ 
  12.      name : "underscore" 
  13. },{ 
  14.      name : "redux" 
  15. }], 

 以上我將第三方類庫都放到 mvc/vendor目錄下,然后要將2個類庫引用到項目中,這時只需填寫類庫文件名即可,這樣配置的話就可以非常方便地引入不同的類庫了 :biggrin: 。接下來就看看如何實現(xiàn)吧:

要實現(xiàn)以上配置,就需要修改核心文件 core/timvc.js ,其實只需在此文件里添加以下代碼:

  1. /** 
  2.     * Load vendor from file by name 
  3.     * @param {String} name vendor name based on vendor path in config (usally /mvc/vendor) 
  4.     * @returns boolean with load status 
  5.     */ 
  6.    this.loadVendor = function(name) { 
  7.        if(name == null) { 
  8.            //load all vendor with config 
  9.            for(var i = 0, v = self.config.loadVendor.length; i < v; i++) { 
  10.                var path = self.config.vendorPath + self.config.loadVendor[i].name + ".js"; 
  11.                self.debug('path:' + path); 
  12.                var r = self.includeFile(path); 
  13.                if(!r) 
  14.                    return false; 
  15.            } 
  16.        } else { 
  17.            //load vendor by name 
  18.            var path = self.config.vendorPath + name + ".js"; 
  19.            var r = self.includeFile(path); 
  20.        } 
  21.        return true; 
  22.    } 

以上方法就是加載配置目錄中所需要的類庫文件,代碼很簡單,我就不多說了 :tongue: ,***一步就是將此方法放到 components/controller.js 的 setApp 方法里調(diào)用就可以了,因為這個 setApp 方法是所有頁面加載前調(diào)用的,至于為什么要放到 controller而不直接放到 timvc.js 里的 _init,這個是因為每當新的頁面或者控制器加載時,其應該都是獨立運行的,如果放到 timvc.js 里的話,就只有項目啟動時才加載一次,如果跳到另一個頁面的話,就會失效了,因此放到所有 controller的父頁面,讓所有都繼承它就能保證讓所有頁面都能生效。以下是具體代碼:

  1. /** 
  2. * Set Appliation Class Reference 
  3. * @param {TiMVC} set main app TiMVC class refernce used by TiMVC 
  4. */ 
  5. this.setApp = function(a){ 
  6.     self.App = a
  7.     self.App.loadVendor(); 

OK,至此就完成了,然后你就可以直接在項目中使用類庫的代碼了 :biggrin:

責任編輯:佚名 來源: coderblog.in
相關(guān)推薦

2012-04-19 13:52:16

TitaniumMVCRedux

2014-07-22 10:56:45

Android Stu第三方類庫

2013-08-14 09:50:32

iOS類庫

2019-07-30 11:35:54

AndroidRetrofit

2015-11-05 16:44:37

第三方登陸android源碼

2022-01-14 09:57:14

鴻蒙HarmonyOS應用

2012-04-19 13:55:19

TitaniumTiMVC

2009-11-25 17:19:58

桌面軟件Chrome第三方擴展

2010-05-25 11:09:31

SVN工具

2017-12-11 15:53:56

2021-10-11 06:38:52

Go開源庫語言

2014-07-23 08:55:42

iOSFMDB

2022-05-21 23:56:16

Python庫搜索Python

2013-01-15 13:50:22

iOS開發(fā)開源庫

2010-03-03 15:10:49

第三方Python庫

2013-11-08 09:15:39

ChromeWindows

2022-06-06 07:50:55

PythonJSON

2011-07-25 14:14:49

iPhone SQLITE Pldatabase

2014-08-13 10:27:23

CocoaPods

2013-12-24 16:58:28

搜狐
點贊
收藏

51CTO技術(shù)棧公眾號