首頁 >web前端 >js教程 >淘汰賽初學者指南:第2部分

淘汰賽初學者指南:第2部分

Jennifer Aniston
Jennifer Aniston原創
2025-02-26 09:00:21867瀏覽

Beginners Guide to KnockoutJS: Part 2

淘汰賽初學者指南:第2部分

鑰匙要點

    庫支持條件和样式綁定,例如`cisible',`eNable'和`css'',使開發人員能夠基於數據模型狀態動態地控制元素可見性並動態造型。
  • >高級功能,例如下拉列表的“選項”綁定和復選框和無線電按鈕的`'checked'綁定提供了可靠的工具,可用於處理UI中更複雜的表單元素。
  • >
  • 敲除初學者指南:綁定
  • 淘汰賽為最常見的任務和方案提供了一組有用的內置綁定。這些綁定中的每一個都可以綁定簡單的數據值或使用JavaScript表達式來計算適當的值。這提供了很大的靈活性,並且可以輕鬆地以最少的精力來創建非常動態的UI。
  • 使用內置綁定的語法是包括敲除綁定名稱和HTML元素的數據綁定屬性內部的視圖模型屬性對。
如果要數據綁定到HTML元素中的多個屬性,只需使用此語法通過逗號分隔綁定:

>您應該記住,大多數綁定試圖將任何參數轉換為布爾值。如果您給出實際上並非布爾值的價值,它將被鬆散地解釋為真實或虛假。這意味著非零的數字和非零對象和非空字符串都將被解釋為真實,而零,空,未定義和空字符串將被解釋為false。

如果您了解如何使用一種類型的數據綁定,那麼其他數據應該很容易學習。現在,我們將通過提供描述和簡短的例子來解釋它們中的每個人。 >

簡單綁定

// syntax: data-bind="bindingName: bindingProperty"
<span data-bind="text: msg"></span>
>在與上一個教程中的可觀察到的處理時,我們已經看到文本具有綁定。它將關聯元素的文本設置為參數的值。這等同於設置DOM元素的innertext(對於IE)或文本概要(對於其他瀏覽器)屬性。如果您的參數是數字或字符串以外的其他內容,則綁定將把toString()的結果分配給元素。

>

如果此參數是可觀察的值,則綁定將在值更改時更新元素的文本。如果該參數不可觀察到,它將僅設置元素的文本一次,並且以後不會再次更新。這對所有綁定都是有效的。

>文本綁定通常用於在跨度或div元素中顯示值。使用時,任何以前的文本都將被覆蓋。

>
// syntax: data-bind="bindingName: bindingProperty"
<span data-bind="text: msg"></span>

值綁定將關聯元素的值設置為參數的值。這通常用於表單元素,例如輸入,選擇和textarea。當用戶在關聯的表單控件中編輯值時,它會更新視圖模型上的值。同樣,當您更新視圖模型中的值時,這會更新屏幕上表單控件的值。這被稱為雙向綁定。如果您的參數是數字或字符串以外的其他內容,則綁定將把ToString()的結果分配給元素。

默認情況下,當用戶將焦點轉移到另一個DOM節點(更改事件)時,淘汰賽會更新視圖模型,但是您可以使用下面描述的valueupdate參數來控制值何時更新值。如果您的綁定還包括一個稱為valueupdate的參數,則定義瀏覽器事件敲除應用於檢測更改的參數。

“更改”是默認事件,當用戶將焦點移至其他控件或元素以外,該綁定不能與其他任何內容一起使用。對於多選列表,要設置選擇哪些選項,或者要讀取選擇哪些選項,請使用SelectedOptions綁定。對於單個選擇列表,您還可以使用值綁定的值讀取選定的選項。

綁定的選項標識要顯示的值列表,通常是從視圖模型上的數組屬性。

當前選擇了多選列表中哪些元素的選定綁定控件。當用戶在多選列表中選擇或刪除選擇項目時,這會添加或刪除視圖模型上的數組的相應值。 >
<span data-bind="text: msg, visible: toggle"></span>

>有時您想在下拉列表中顯示一個值,但是當用戶從列表中選擇項目時,請使用另一個值。淘汰賽的內置選件和optionValue綁定有助於。 OptionStext綁定設置為從選項綁定中顯示在下拉列表中顯示的屬性的字符串名稱。 optionsValue綁定設置為屬性的字符串名稱,以綁定到下拉列表中項目的選定值。當您不想默認選擇任何prticular選項時,選項會議很有用。此參數設置了一個文本,例如選項列表之上的“選擇項目…”,並在未選擇任何特定項目時顯示。

<p>The tip of the day is: <span data-bind="text: tipOfTheDay"></span></p> 

function viewModel() {
 var self = this;
 self.tipOfTheDay = ko.observable('Relax.Take it easy!')
};
ko.applyBindings(new viewModel());
就這部分而言,請繼續關注結局,下周同一時間!

>

經常詢問有關淘汰賽的問題
<input data-bind="value: name, valueUpdate: 'afterkeydown'"></input>
<p data-bind="text: name"></p>

function viewModel() {
 var self = this;
 self.name = ko.observable()
};
ko.applyBindings(new viewModel());
>

> junckoutjs和其他JavaScript庫之間有什麼區別?

junckoutjs是一個JavaScript庫,可幫助開發人員創建具有乾淨的基礎數據模型的富含,響應式顯示和編輯器用戶界面。與其他JavaScript庫不同,QuignoutJS使用模型視圖模型(MVVM)設計模式,其中模型和視圖是分開的,從而更容易管理複雜的數據驅動的接口。當數據模型更改並為將UI的各個部分連接到數據模型時,它還提供自動UI刷新。將UI部分連接到數據模型的聲明綁定。這意味著您可以以易於理解和維護的方式輕鬆地將數據綁定到HTML元素。當數據模型更改時,QuintOutJS會自動更新UI的相關部分,從而消除了對手動DOM操作的需求。

> quotigoutjs可以與其他JavaScript庫一起使用嗎?它不會對您的技術堆棧的其餘部分做出任何假設,因此可以與其他庫或框架(例如jQuery,bootstrap甚至Angularjs)集成。

> nockutjs如何處理CSS綁定? > >> nockoutjs中的觀察值是什麼? > 我如何將QuigentJS與服務器端技術使用?敲除可以與任何服務器端技術一起使用。它對您使用的服務器端語言不可知,因此您可以將其與PHP,.NET,Java,Ruby,Python或任何其他服務器端語言一起使用。您只需要向客戶端發送JSON數據,然後使用QuintOutJS將此數據綁定到您的HTML。

>

> nockoutjs如何處理形式驗證?

nockoutjs本身不提供任何內置的內置驗證機制。但是,它可以輕鬆地與其他驗證庫(例如jQuery驗證或敲除驗證)進行集成,這是一個專門設計用於在QuintOutJs中形式驗證的單獨插件。

>我可以將quightoutjs用於移動應用程序開發嗎?

雖然QuintOutJS主要是為Web開發而設計的,但它也可以與其他技術(如PhoneGap或Cordova)結合使用,可用於移動應用程序開發,這允許您要使用HTML,CSS和JavaScript創建本機應用程序。

> QuignSoutjs如何處理事件處理?

適合大規模應用程序?

是的,nockoutjs適用於小型和大型應用程序。它的MVVM設計模式使管理複雜的數據驅動接口變得更加容易,並且其可觀察到的物體和綁定係統有助於保持代碼的組織和可維護,即使對於大型應用程序也是如此。

以上是淘汰賽初學者指南:第2部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn