如何在 Ext.js 中實作資料綁定:實用演練
已發表: 2023-09-21歡迎來到我們關於如何在 Ext.js JavaScript 框架中進行資料綁定的實用指南! 資料綁定就像魔術膠一樣,將網站的外觀與網站上發生變化的內容連接起來。 Ext.js JavaScript 框架是一個很酷的工具,可以幫助您輕鬆完成此任務。 在本部落格中,我們將透過簡單的步驟引導您完成整個過程。 無論您是專業程式設計師還是剛起步,我們都會介紹基礎知識。
您將學習如何將資料連結到 Ext.js JavaScript 框架部分,以便您的網站可以順利地做出反應和更新。 最後,您將掌握使您的網頁應用程式更具互動性和動態性的技能。 讓我們開始使用 Ext.js 資料綁定吧!
什麼是資料綁定?
資料綁定就像網站的外觀和網站上可以更改的內容之間的有用連結。 將其想像為一種神奇的連接,使網站和數據能夠順利地協同工作。 因此,當資料發生變化時,例如價格或名稱,網站會自動顯示該變化,而無需您執行任何操作。
在 Ext.js(一個面向 Web 開發人員的工具包)中,有一個很酷的功能,稱為雙向資料綁定。 這表示當您在網站上執行某些操作(例如單擊按鈕或在框中鍵入內容)時,它會更新資料。 當資料發生變化時,它會立即更新網站。 這使您的網站更具互動性和響應性。
資料綁定在Web開發中的意義是什麼?
資料綁定在 Web 開發中非常重要,因為它可以確保您的網站的外觀與不斷變化的資料相匹配,而無需您手動完成所有操作。 它使網頁和行動應用程式更加動態和響應,從而節省開發人員編寫複雜程式碼的時間和精力。
Ext.js 中的雙向資料綁定。
Ext JS 和 Sencha Touch 中的所有類型的綁定都遵循熟悉的過程:它們使用 setter 和 updaters。 單向綁定表示當 ViewModel 中發生某些變更時,它會使用其 setter 更新配置。 雙向綁定類似,但它使用更新程序,就像一個特殊的處理程序。 如果更新程式成功更改配置,它也會更改 ViewModel 中的連結值,從而更新其他綁定。
若要使配置支援雙向綁定,您可以使用“twoWayBindable”選項。 通常,它在幕後使用,但在創建自訂視圖或元件時它會很方便。 例如,Ext.field.Text將其「值」配置為可雙向綁定,如下所示:
雙向可綁定:{
值:1
}
在具有微調欄位的範例中,當其值發生變化時,它會觸發更新程序,ViewModel 會攔截該更新程序。 然後,這會更新下面容器的內容,這一切都是因為連結了「html」配置。 這工作起來很順利,因為 Ext.field.Spinner 與 Ext.field.Text 相關,後者被設定為其「值」使用雙向綁定。
如何在開發環境中安裝和設定Ext.js?
若要取得 Ext JS 庫檔案的試用版,請造訪 Sencha 的網站:https://www.sencha.com。 註冊後,您將在電子郵件中收到名為「ext-6.0.1-Trial」的壓縮資料夾形式的試用版。
解壓縮該資料夾以查找適合您的應用程式的各種 JavaScript 和 CSS 檔案。 關鍵的 JavaScript 檔案包括:
- ext.js :包含所有應用程式功能的核心檔案。
- ext-all.js :沒有註解的 ext.js 的縮小版本。
- ext-all-debug.js :用於偵錯的 ext-all.js 的未縮小版本。
- ext-all-dev.js :另一個未縮小的版本,對於使用註解和控制台日誌進行開發很有用。
- ext-all.js :一個較小的、生產就緒的版本。
您可以將這些檔案新增至專案的 JS 資料夾或指定係統上的直接路徑。 對於 CSS,基於主題的檔案位於不同的資料夾中,具體取決於您建立的是桌面應用程式還是行動應用程式。
在 HTML 文件中,連結到必要的 CSS 和 JavaScript 文件。 或者,您可以使用內容交付網路 (CDN) 來避免在本機下載檔案。 Ext JS 相容於各種瀏覽器,包括 IE 6 以上版本、Firefox、Chrome、Safari 和 Opera,使其適用於 Web 開發。
如何創建一個簡單的 Ext.js 應用程式?
以下是快速建立 Ext JS 應用程式的簡單步驟:
第 1 步:從 npm 安裝軟體包
Ext JS 在公共 npm 註冊表上提供了 30 天的試用包。 您可以執行以下命令來取得最新的 Ext JS 版本:
$ npm install -g @sencha/ext-gen
對於現有用戶,Ext JS 及其相關套件駐留在 Sencha 的私有 npm 註冊表中。 要存取它,請登入註冊表並使用以下命令安裝 npm:
$ npm 登入 –registry=https://npm.sencha.com/ –scope=@sencha
$ npm install -g @sencha/ext-gen
這些命令將 npm 設定為從 Sencha 註冊表中的「@sencha」範圍內檢索和安裝軟體套件。
第 2 步:產生應用程式
在此步驟中,我們將使用以下命令建立一個簡單的雙視圖應用程序,其中包括主頁和網格:
ext-gen 應用程式-a -t 現代桌面-n ModernApp
第 3 步:探索應用程式
現在我們的專案已生成,使用以下命令導航到該目錄:
cd ./現代應用程式
要探索您的應用程序,請使用以下 npm 命令啟動它:
npm 啟動
這些步驟將幫助您快速設定免費且開源的備份您的 Ext JS 應用程式。
Sencha:您卓越 UI 的合作夥伴 – 聯絡我們!
Ext.js 中模型的用途是什麼?
模型代表應用程式中的一種資料。 模型的核心由一組欄位及其關聯資料組成。 模型包含四個關鍵元素:欄位、代理、關聯和驗證。
領域
模型欄位在“fields”屬性中指定為數組。 每個欄位都被描述為包含名稱和類型等屬性的 JavaScript 物件。
代理人
代理由儲存使用並處理與載入和儲存模型資料相關的任務。 有兩種類型的代理:
- 客戶端代理,利用瀏覽器記憶體或本地儲存來儲存資料。
- 伺服器代理負責透過 Ajax、JSON-P 或 REST 等方法將資料傳送到伺服器。
協會
即使在具有多個模型的小規模應用程式中,模型也可以相互建立連接。 可以創建各種類型的關聯,包括一對一、一對多和多對一關係。
驗證
驗證是用於驗證特定模型欄位中儲存的資料的正確性的專用結構。 ExtJS 提供了一組標準驗證,常見範例是檢查最小或最大欄位長度。
Ext.js 中視圖的作用是什麼?
視圖處理應用程式的視覺方面和使用者介面。 視圖由元件和佈局組成。 每個元件都可以充當另一個元件的容器,從而將應用程式介面結構化為視圖的分層集合。
在 ExtJS 中,可以使用多種佈局:
- FitLayout:此佈局可擴展內部項目以適應父容器的邊界。
- VBoxLayout:它有利於專案的垂直排列。
- HBoxLayout:它有利於專案的水平排列。
- BorderLayout:此佈局允許將項目附加到視窗的四個側面之一或將它們停靠在中心。
如何設定模型和視圖之間的資料綁定?
Ext.app.ViewModel 類別對於建立資料連線至關重要。 把它想像成一個資料組織者。 它與 Ext.data.Model 類似,但它以結構化方式處理數據,就像家譜一樣,而不僅僅是事實列表。 它還具有“bind()”方法來監視此組織資料中的變更。
現在,關於這個資料家譜:它的運作方式有點像知識在家庭中的傳承方式。 孩子可以向父母學習,父母也可以向父母學習,等等。 在我們的例子中,即使是「孫子」組件也可以從更高層級的組件中學習。 這一切都是為了有效地共享資訊。
在 Ext JS 中設定模型和視圖之間的資料綁定涉及幾個基本步驟:
- 建立模型:首先,定義一個模型來表示您要使用的資料結構。此模型應包含與您需要在視圖中顯示的資料相對應的欄位。
- 建立 ViewModel :ViewModel 充當模型和視圖之間的中介。它管理資料並提供一種將其綁定到視圖元件的方法。 您可以在控制器或視圖中建立 ViewModel。
- 將資料綁定到元件:使用 ViewModel 的「綁定」方法將模型的欄位連接到視圖中的元件。例如,如果您有一個應顯示人名的文字字段,則可以將其綁定到模型中的相應字段。
視圖模型:{
公式:{
全名:函數(獲取){
var firstName = get('user.firstName');
var LastName = get('user.lastName');
回名 + ' ' + 姓氏;
}
}
},
專案: [{
xtype: '文字欄位',
fieldLabel: '名字',
綁定:'{user.firstName}'
}, {
xtype: '文字欄位',
fieldLabel: '姓氏',
綁定:'{user.lastName}'
}, {
xtype: '文字欄位',
fieldLabel: '全名',
bind: '{fullName}' // 這是一個計算字段
}]
「`
- 更新資料:當您更新模型中的資料時(例如,當使用者輸入新值時),資料綁定機制將自動更新連線的視圖元件。類似地,當使用者與視圖元件互動(例如,編輯欄位)時,變更將反映回模型。
結論
Ext JS 提供了一種智慧方式來連結資料和您在網頁上看到的內容。 透過設定模型並將它們連接到網頁元素,您可以確保當資料發生變化時。 此外,您的網頁會自動更新,當使用者與您的網頁互動時,變更會儲存在您的資料中。
這使得建立 Web 應用程式變得更加容易,改善使用者體驗網站的方式,並使開發人員更輕鬆地建立動態和響應式 Web 應用程式。 Ext JS 簡化了 html 程式碼的整個流程,使 Web 開發更有效率、更人性化。
常見問題解答
什麼是 Ext.js,為什麼要用它進行資料綁定?
Ext JS 是一個 JavaScript 框架。 它簡化了資料綁定,有效地建立響應式 Web 和行動應用程式。
Ext.js 資料綁定需要哪些工具?
要開始 Ext.js 資料綁定,您需要 Ext.js 框架、程式碼編輯器和 Web 瀏覽器。
什麼是響應式網頁設計?
響應式網頁設計使網頁組件適應各種螢幕尺寸,確保在桌上型電腦、平板電腦和行動裝置上提供最佳的使用者體驗。
JQuery 是一個 JS 框架嗎?
不,jQuery 不是一個 JavaScript 框架;它是一個 JavaScript 框架。 它是一個用於簡化 DOM 操作和 AJAX 請求的函式庫。