必威电竞|足球世界杯竞猜平台

Backbone.js
來源:互聯網

Backbone 為復雜ECMAScript應用程序提供模型(models)、集合(collections)、視圖(views)的結構。其中模型用于綁定鍵值數據和自定義事件;集合附有可枚舉函數的豐富API;視圖可以聲明事件處理函數,并通過RESTful JSON接口連接到應用程序。

軟件簡介

當我們開發含有大量Javascript的web應用程序時,首先你需要做的事情之一便是停止向DOM對象附加數據。通過復雜多變的jQuery選擇符和回調函數創建ECMAScript應用程序,包括在HTML UI,Javascript邏輯和數據之間保持同步,都不復雜。但對付客戶端應用來說,良好的架構通常是有很多益處的。

Backbone將數據呈現為模型, 你可以創建模型、對模型進行驗證和銷毀,甚至將它保存到服務器。當UI的變化引起模型屬性改變時,模型會觸發 "change"事件;所有顯示模型數據的視圖會接收到該事件的通知,繼而視圖重新渲染。你無需查找DOM來搜索指定 id的元素去手動更新HTML。 — 旦模型改變了,視圖便會自動變化。

主要功能

backbone.js提供了一套web開發的框架,通過Models進行key-value綁定及custom事件處理,通過Collections提供一套豐富的API用于枚舉功能,通過Views來進行事件處理及與現有的Application通過RESTful JSON接口進行交互。它是基于jquery和underscore的一個js框架。

主要組成:

1. model:創建數據,進行數據驗證,銷毀或者保存到服務器上

2. collection:可以增加元素,刪除元素,獲取長度,排序,比較等一系列工具方法,說白了就是一個保存 models的集合類

3. view:綁定HTML模板,綁定界面元素的事件,初始的渲染,模型值改變后的重新渲染和界面元素的銷毀等

優勢:

1. 將數據和界面很好的分離開來。

2. 將事件的綁定很好的剝離出來,便于管理和迭代。

3. 使得ECMAScript程序的模塊化更加清晰、明了。

應用場景

最適合的應用場景是單頁面應用,并且頁面上有大量數據模型,模型之間需要進行復雜的信息溝通。Backbone.js旨在開發單頁面Web應用程序,并保持Web應用程序的各個部分(例如多個客戶端和服務器)同步。它由jeremy Ashkenas創建,他還因CoffeeScript和Underscore.js而聞名。在處理DOM時,Backbone.js采用了一種命令式編程風格,與聲明式編程風格相反(在AngularJS中使用數據屬性常見)。試圖提供“最小的數據結構(模型和集合)和用戶界面(視圖和URL)”,為開發人員留下了對增強功能的擴展選擇。例如,可以使用Backbone Layout Manager進行嵌套視圖,或者使用ReSTbasis進行模型-視圖綁定。

參考資料 >

生活家百科家居網