jQuery – vmodel 模組化 jQuery 的編寫結構。
因為長期使用 jQuery 開發的經驗,所以設計了一個模組化的框架套件。這個框架套可以輔助你在編撰 jQuery 的結構上能夠:提高重複使用模組、好維護每個細節、IDE 好查找。
他適合用在網頁上大量的 UI 設計。一般我們會這麼寫 jQuery
$("form").on("click", ".register", function (){}); $("form").on("click", ".login", function (){});
但是,這是實作的方法,一旦結構大了會非常不好維護,IDE 也很難搜尋(如 sublimetext 快捷鍵 ctrl + R)。所以試圖從這個角度來解決問題:
- 我們需要在外層添加抽象的邏輯行為。日後查找問題,應該是思考抽象的邏輯行為。
- 模組化,我們需要有個根節點作為綁定和識別。讓各種模組綁定在不同的根節點,可以降低瀏覽器的負擔。而且容易維護。
稍微看一下範例
$(function (){ $(".box").vmodel(function (){ // 自動掛載要觸發的方法 this.autoload = function(){ return ['start', 'call']; } this.element = function (text) { return "<li>" + text + "</li>"; } this.start = function (){ $(".box").append(this.element("項目一")); $(".box").append(this.element("項目二")); $(".box").append(this.element("項目三")); } this.call = function (){ this.root.on("click", "li", function (){ $(".debug").html("我是" + $(this).html()); }) } }); })
<div class="debug"></div> <ul class="box"></ul>
我們時常需要將不同的模組交互運用,尤其在製作UI介面的時候。在這裡可以這麼做來建立模組並放到倉儲裡,供其他需要使用的程式來使用。
下面就是在倉儲裡建立建立一個叫做 model_tool 的模組。
$(".tool").vmodel("model_tool", function (){ //private function name() { return "製圖筆"; } //public this.call = function (){ return name(); } })
在外部,若要使用 model_tool 底下call() 可以這麼寫
$.vmodel.get("model_tool").call();
完整教學範例
- GitHub 下載
- jQuery – vmodel 模組化 jQuery 的編寫結構。
- jQuery – vmodel.js 討論列表範例教學(1) 基本方法
- jQuery – vmodel.js 討論列表範例教學(2) 添加回覆功能
- jQuery – vmodel.js 討論列表範例教學(3) 如何改版?
關於 jQuery 的程式碼組織結構,官方有提供不錯的原文說明,大家有時間也可以前往看看。
Comments