Backbone 簡介

由 Derek 發表於 一月 19, 2012 / 1 則評論

 

此篇文章由 Wazzup! 的 Andy 提供

更多文章內容可參考 Wazzup! 

 

前言

這篇文章不是要深入探討關於BackboneJS的使用,純粹是因為最近Javascript MVC Framework 一直推陳出新。但像小弟資質愚鈍其實剛知道這東西的時候完全不知道她在干嘛。 這篇文章只是大略用範例來做些基本的說明。

 

 

What is BackboneJS ?

Backbone 是一個為前端設計的JavaScript框架。 不同於jQuery專注於簡化DOM的操作和事件繫結。Backbone 提供結構化來達到分離資料模型和DOM。就像是MVC框架分離View,Model,Controller。它讓複雜的JavaScript應用程式更簡單的開發和維護。

 

 

為什麼使用Backbone?

在jQuery裡,我們可能會使用一連串的事件來指派資料到DOM像以下範例:

 

接著,看看Backbone. 它提供Model Class和View Class這兩個Backbone最主要的元素。

 

結論

到這邊為止,大致上對於Backbone做的事情有些概略的認識.簡單來說Backbone就是提供一個框架讓我們 把既存的JavaScript Code 結構上可以寫成MVC的架構。 對於功能單純的程式頁面來說這樣做好相反而會增加大量程式碼,但當頁面功能越來越複雜的時候。 好處是其他接手維護的人可以用既定的規則去理解部分的功能。像最上面jQuery的寫法。可能免不了要重頭 看到尾。= =|||

 

[Javascript] click & dbclick 實作 與 setTimeout ?

由 andy 發表於 十月 28, 2011 / 尚無評論

 

今天因為一個實作需click  dblclick 事件綁定到同一個 element 記得印象中在看[jQuery開發範例大全] 一書時上面說如果無法避免以不同的方式來回應單擊和雙擊那麼就應該用 click 處理常式來模擬 dblclick 。不寫沒事,一寫下去相關問題就跑出來。首先,我在 StackOverFlow 找到這篇答案。底下這段程式碼的的確確解決了問題,但我無法清楚的理解他。所以開始了以下這篇解說:
var clickTimeout = false;
$('#element').click(function() {

   if(clickTimeout !== false) {
       // I'm doubleclick!
       clearTimeout(clickTimeout);
       clickTimeout = false;
   } else {        
       clickTimeout = setTimeout(function() {
           // I'm click!
           clickTimeout = false;
       }, 400);
   }
});

繼續閱讀 »

Knockout.js基礎手冊

由 andy 發表於 十月 17, 2011 / 尚無評論

 

 

前言 :

本篇文章的主旨為官方的訓練手冊提供部分翻譯與使用教學進而透過官方的練習介面體驗Knockoutjs並從實做中理解。

官方訓練手冊 : http://goo.gl/ho5QJ

 

Knockoutjs 簡介!?

Knockout 是一個JavaScript函式庫它使用一種清晰的資料模型協助您建立更豐富的使用者互動介面UI.任何時間您需要動態的更新您UI的部分,例如當使用者執行了一個動作或外部資料來源有所異動,KO 可以幫您簡化並實踐.

註:KO = Knock Out

 

其他角度看Knockoutjs,您可以把它想成提供一個簡單的方法讓UIs編輯JSON Data

備註 : Backbone常被拿來與之比較的函式庫 http://goo.gl/dKouX

 

Knockoutjs特點 :

        優雅的相依性 : 當資料模型(DataModel)異動時自動且正確的更新介面(UI)該被變更的部分

        宣告繫結 : 用簡潔的方式連結UI和您的資料模型 [概念例如 : ASP.NET GridView + DataSource]

        彈性和高度發展的樣版 : 可以任意嵌套的樣版建構複雜的動態UI更簡單方便

        親切的可擴展性 : 只要使用短短幾行程式即可實作客製化的動作且輕易地重複使用

繼續閱讀 »