下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Backbone.jsWineCellar中CRUD的示例分析
在下給大家分享一下Backbone.jsWineCellar中CRUD的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!您將學(xué)習(xí)創(chuàng)建、更新及刪除(CRUD)葡萄酒。HTTP方法URL操作GET/api/wines檢索所有葡萄酒GET/api/wines/10檢索id==10的葡萄酒POST/api/wines添加新葡萄酒PUT/api/wines/10更新id==10的葡萄酒DELETE/api/wines/10刪除id==10的葡萄酒這些服務(wù)的PHP版本(使用Slim框架)均將隨下載內(nèi)容一同提供。
本文還將提供一個(gè)類似的Java版本的API(使用JAX-RS)。搭配使用Backbone.js和非RESTful服務(wù)如果您的持久層無法通過RESTful服務(wù)進(jìn)行提供,您可以替換Backbone.sync。在本文檔中:“Backbone.sync是一個(gè)函數(shù),Backbone每次嘗試讀取模型或?qū)⑵浔4嬷练?wù)器時(shí)都會(huì)調(diào)用該函數(shù)。默認(rèn)情況下,它使用(jQuery/Zepto).ajax發(fā)出RESTfulJSON請(qǐng)求。您可以替換它,以便利用不同的持久性策略,比如WebSockets、XML傳輸或本地存儲(chǔ)?!蔽也粫?huì)在本教程中討論非RESTful服務(wù)的使用。有關(guān)更多信息,請(qǐng)參閱文檔
。添加創(chuàng)建、更新和刪除功能您可以
運(yùn)行將在本教程中進(jìn)行編碼的應(yīng)用程序。此在線版本的創(chuàng)建、更新和刪除功能均已禁用。此在線版本的創(chuàng)建、更新和刪除功能均已禁用。圖2.backbone.js代碼代碼重點(diǎn)Wine(第2行至第14行)第二部分向該葡萄酒模型添加了兩個(gè)屬性,如下所示:(1)urlRoot
(第3行):RESTful服務(wù)終端將檢索或保存模型數(shù)據(jù)。請(qǐng)注意,只有在檢索/保存獨(dú)立于集合的模型時(shí)才需要使用此屬性。如果該模型是集合的一部分,集合中定義的URL屬性足以供Backbone.js了解如何使用您的RESTfulAPI檢索、更新或刪除數(shù)據(jù)。(2)Defaults
(第4行):為模型創(chuàng)建新實(shí)例時(shí)使用的默認(rèn)值。此屬性是可選屬性。但是,此應(yīng)用程序需要使用此屬性促使wine-details信息模板呈現(xiàn)“空”葡萄酒模型對(duì)象(該情況將在添加新葡萄酒時(shí)發(fā)生)。WineListView(第22行至第40行)當(dāng)用戶添加新葡萄酒時(shí),您希望它自動(dòng)顯示在列表中。要做到這一點(diǎn),請(qǐng)將視圖綁定至WineListView模型(葡萄酒集合)的添加事件。當(dāng)事件觸發(fā)后,該應(yīng)用程序會(huì)創(chuàng)建新的WineListItemView實(shí)例并將其添加到該列表中。WineListItemView(第42行至第62行)(1)當(dāng)用戶改變葡萄酒時(shí),您希望對(duì)應(yīng)的WineListItemView自動(dòng)重新呈現(xiàn)以反映這種變化。要做到這一點(diǎn),請(qǐng)將視圖綁定至其模型的更改事件,然后在觸發(fā)事件時(shí)執(zhí)行Render函數(shù)。同樣,當(dāng)用戶刪除葡萄酒時(shí),您希望自動(dòng)刪除列表項(xiàng)。(2)要做到這一點(diǎn),請(qǐng)將視圖綁定至其模型的破壞事件,然后在觸發(fā)事件時(shí)執(zhí)行我們的自定義Close函數(shù)。重要注意事項(xiàng):
為避免內(nèi)存泄露及事件多次觸發(fā),重要的是先解除事件偵聽器綁定,然后再?gòu)腄OM中刪除列表項(xiàng)。(3)請(qǐng)注意,無論發(fā)生哪種情況,您都不用承擔(dān)重新呈現(xiàn)整個(gè)列表的費(fèi)用。您只能重新呈現(xiàn)或刪除受更改影響的列表項(xiàng)。WineView(第64行至第123行)本著封裝精神,Save和Delete按鈕的事件處理程序均在WineView內(nèi)部進(jìn)行定義,這與將它們作為自由懸掛式代碼塊在“類”定義外部定義截然相反。使用Backbone.js事件語法,采用jQuery幕后委托機(jī)制。您始終可以根據(jù)用戶在表單中的輸入內(nèi)容采用以下不同方法來更新模型:(1)“實(shí)時(shí)”方法:使用更改處理程序在表單更改時(shí)更新模型。這種方法從本質(zhì)上而言是雙向數(shù)據(jù)綁定方法。模型和UI控件始終同步。您可以利用這種方法選擇將更改實(shí)時(shí)發(fā)送至服務(wù)器(隱式保存),還是等到用戶單擊Save按鈕時(shí)再發(fā)送更改(顯示保存)。***個(gè)選項(xiàng)在存在交叉字段驗(yàn)證規(guī)則時(shí)不正式也不可行。而第二個(gè)選項(xiàng)可能需要您撤銷模型更改,如果用戶在未單擊Save的情況下導(dǎo)航至其他項(xiàng)目的話。(2)“延遲”方法:等到用戶單擊Save時(shí)再根據(jù)UI控件的新值更新模型,然后將這些更改發(fā)送至服務(wù)器。本討論主題并非Backbone.js特有,因此本文并未就此進(jìn)行探討。為簡(jiǎn)單起見,我在此處使用延遲方法。但是,我依然導(dǎo)入更改事件,并利用其記錄控制臺(tái)更改。我發(fā)現(xiàn)此方法在調(diào)試應(yīng)用程序(特別是要確保我已經(jīng)清除綁定,請(qǐng)參見Close函數(shù))時(shí)非常有效。如果您發(fā)現(xiàn)更改事件觸發(fā)多次,則可能沒有相應(yīng)地清除綁定。HeaderView(第125行至第148行)Backbone.js視圖通常用于呈現(xiàn)域模型(比如W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語文教師年度述職報(bào)告五篇
- 語文教學(xué)反思15篇
- 瑜伽課程設(shè)計(jì)大班
- 網(wǎng)站資源共享課程設(shè)計(jì)
- 機(jī)器設(shè)計(jì)課程設(shè)計(jì)難嗎
- 液壓課程設(shè)計(jì) 死擋鐵
- 2025年度企業(yè)信息化辦公系統(tǒng)Excel模板可分享版合同管理臺(tái)賬3篇
- 紅軍小學(xué)社團(tuán)課程設(shè)計(jì)
- 空調(diào)課程設(shè)計(jì)心得
- 紅薯生產(chǎn)乙醇課程設(shè)計(jì)
- 工程倫理分析-切爾諾貝利
- 外墻用水泥纖維板接縫位置開裂問題及處理
- 超星爾雅學(xué)習(xí)通【中國(guó)近現(xiàn)代史綱要(首都師范大學(xué))】章節(jié)測(cè)試含答案
- 《鼻負(fù)壓置換術(shù)在兒童呼吸道感染中的應(yīng)用及護(hù)理對(duì)策研究【論文】3600字》
- 發(fā)動(dòng)機(jī)機(jī)械系統(tǒng)2.0升ltg-9.66維修指南車下
- 哈爾濱市商品房買賣合同書(最終定稿)
- 信號(hào)與系統(tǒng) 西安郵電 習(xí)題答案
- 新疆維吾爾自治區(qū)和田地區(qū)各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 用人單位終止(解除)勞動(dòng)合同證明書參考
- 天津工業(yè)大學(xué)《工程力學(xué)》2017-2018-1期末試卷及答案
- 能力素質(zhì),勝任力模型
評(píng)論
0/150
提交評(píng)論