KnockoutJS 3.X API 第四章之數據控制流if綁定和ifnot綁定
if綁定目的
if綁定一般是格式是data-bind=if:attribute,if后所跟屬性或表達式的值應為bool值(也可以是非bool值,當非空字符串時則為真),if綁定的作用與visible綁定的作用類似??煽刂艱OM的顯示與隱藏,不一樣的地方是,if綁定是物理刪除或添加DOM元素。
示例1
該例展示IF綁定的動態(tài)刪除添加DOM:
Display message
UI源碼:
<label><input type="checkbox" data-bind="checked: displayMessage" /> Display message</label> <div data-bind="if: displayMessage">Here is a message. Astonishing.</div>
視圖模型源碼:
ko.applyBindings({ displayMessage: ko.observable(false) });
示例2
該示例中,通過foreach綁定循環(huán)planets監(jiān)控屬性數組,其中name為Mercury的項目中capital為null,則循環(huán)中該項目只顯示其name.
<ul data-bind="foreach: planets"> <li> Planet: <b data-bind="text: name"> </b> <div data-bind="if: capital"> Capital: <b data-bind="text: capital.cityName"> </b> </div> </li> </ul> <script> ko.applyBindings({ planets: [ { name: 'Mercury', capital: null }, { name: 'Earth', capital: { cityName: 'Barnsley' } } ] }); </script>
備注:使用無容器的if綁定(if虛擬綁定)
像之前的虛擬綁定一樣,同樣使用<!-- ko -->和<!-- /ko -->進行。虛擬綁定適用于不改變UI元素的情況。
<ul> <li>This item always appears</li> <!-- ko if: someExpressionGoesHere --> <li>I want to make this item present/absent dynamically</li> <!-- /ko --> </ul>
ifnot綁定
ifnot綁定是if綁定的逆向表達,格式與if綁定一樣,只是判斷結果與if整好相反。就像等于和不等于一樣。例如:
<div data-bind="ifnot: someProperty">...</div>
其等效寫法為:
<div data-bind="if: !someProperty()">...</div>
有人會說使用if綁定是足夠了。為毛還要ifnot綁定。原因是有很多強迫癥患者喜歡這種ifnot的綁定方式,看起來更易懂,代碼更整潔。
以上所述是小編給大家介紹的KnockoutJS 3.X API 第四章之數據控制流if綁定和ifnot綁定,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
- KnockoutJS 3.X API 第四章之數據控制流foreach綁定
- KnockoutJS 3.X API 第四章之數據控制流with綁定
- KnockoutJS 3.X API 第四章之數據控制流component綁定
- KnockoutJS 3.X API 第四章之click綁定
- KnockoutJS 3.X API 第四章之事件event綁定
- KnockoutJS 3.X API 第四章之表單submit、enable、disable綁定
- KnockoutJS 3.X API 第四章之表單value綁定
- BootstrapTable與KnockoutJS相結合實現增刪改查功能【二】
- BootstrapTable與KnockoutJS相結合實現增刪改查功能【一】
- KnockoutJS 3.X API 第四章之表單textInput、hasFocus、checked綁定
相關文章
原生javascript實現獲取指定元素下所有后代元素的方法
這篇文章主要介紹了原生javascript實現獲取指定元素下所有后代元素的方法,在進行web程序設計時是非常實用的技巧,需要的朋友可以參考下2014-10-10基于Flowplayer打造一款免費的WEB視頻播放器附源碼
Flowplayer是一款免費的WEB視頻播放器。它支持播放flv、swf等流媒體和圖片文件,能夠非常流暢的播放視頻文件,支持自定義配置和擴展。下面本篇文章給大家介紹基于Flowplayer打造一款免費的WEB視頻播放器,需要的朋友可以參考下2015-09-09