## WeX5數據綁定02:visible綁定
visible綁定(bind-visible)可以綁定可監控對象來動態控制元素是否在頁面中顯示。bind-visible也可以綁定復雜的表達式來控制元素是否顯示。
## 基本使用
html源碼
<div bind-visible="shouldShowMessage">
當"shouldShowMessage"為 true時,才能看到這段消息
</div>
<button component="$UI/system/components/justep/button/button"
class="btn btn-warning"
bind-click="buttonClick">點我切換
</button>
js源碼
var Model = function(){
this.callParent();
this.shouldShowMessage = justep.Bind.observable(true);
};
Model.prototype.buttonClick = function(event){
this.shouldShowMessage.set(!this.shouldShowMessage.get());
};
這段代碼展示了bind-visible的用法。將上述代碼貼到頁面運行起來,點擊按鈕可切換文字的顯示和隱藏。
visible綁定規則:**通過綁定元素的style.display來控制元素顯示**。當綁定對象的值為true、不為空的對象、數組的時候,元素的style.display樣式會被移除,從而使元素顯示;當參數為false、null、undefined、 數字0、空字符串的時候,將會為元素添加樣式style.display:none,從而將元素隱藏。
如果綁定的是監視屬性,那么當屬性改變的時候界面也會發生改變。
## visible綁定表達式
還可以為visible綁定表達式,例如:
js源碼
var Model = function(){
this.callParent();
this.myValues = justep.Bind.observableArray([]);
};
Model.prototype.buttonClick = function(event){
if(this.myValues.get().length > 0){
this.myValues.removeAll();
}
else{
this.myValues.push('some value');
}
};
上面js代碼創建了一個可監控數組對象。buttonClick事件根據可監控數組對象的長度來執行清空數組或向數組增加一項。關于可監控數組對象后面文章會詳細介紹。
html源碼
<div bind-visible="myValues.get().length > 0">
當"myValues"數組值得長度大于0,才能看到這段消息
</div>
<button component="$UI/system/components/justep/button/button"
class="btn btn-warning"
bind-click="buttonClick">點我切換
</button>
在上面的代碼中,visible綁定的是一個表達式。當myValues的長度發生變化時,visible會被重新計算并設置。
bind-visible=”myValues.get().length > 0″ 這個綁定表示如果myValues的長度大于0,就顯示元素div,否則就隱藏。
- 快速入門
- 第一個應用
- WeX5產品能力和技術
- wex5技術理念
- WeX5可以怎么玩?
- WeX5和BeX5比較
- UI2開發
- UI2前端框架基礎01:應用和頁面
- UI2框架基礎02:框架結構圖和目錄
- 組建基礎
- 編程基礎
- js引用
- css、text引用
- 設置資源依賴
- 代碼調試
- 數據組件
- Data組件基礎01:列、初始化加載狀態、行對象和游標
- Data組件基礎02:規則、數據遍歷查找
- Data組件基礎03:CRUD
- Data組件基礎04:Tree、主從數據、更新模式
- Data組件基礎05:再談Data組件新增,查詢,保存
- Data組件的JSON數據格式
- WeX5 & BeX5 頁面框架核心之數據綁定
- 數據綁定屬性系列
- 初識綁定
- visible綁定
- text綁定
- html綁定
- css綁定
- 頁面布局
- 頁面樣式
- 樣式基礎
- 添加自定義圖標(iconfont)
- 常用組件
- bar組件
- contents組件
- 前端路由和頁面跳轉
- 路由模塊
- 頁面跳轉
- 部署和發布
- 三種部署方式
- Web app部署
- UIServer的緩存機制
- 自定義組件開發
- 組件運行時開發案例
- 組件設計時開發案例
- 組件設計時開發參考
- 屬性編輯器配置和開發
- 自定義向導開發(waiting)
- 第三方庫集成
- 集成Echarts
- 集成百度和高德地圖
- App開發
- 打包
- App打包基礎和常見問題
- App打包原理和目錄結構
- App打包過程詳解
- App打包服務器環境搭建
- 蘋果證書申請 使用
- Android和IOS的本地應用圖標規范
- Android和IOS的本地App如何安裝(apk&ipa)
- 蘋果App部署HTTPS進行在線下載安裝
- 調試
- Android和IOS真機調試
- 插件
- 如何使用和擴展cordova插件
- cordova插件開發
- 常用cordovar插件
- SQLite插件
- 極光推送(JPush)插件
- 微信支付入門教程
- 微信、支付寶支付開發
- 服務端開發
- App與服務端交互原理
- 輕量級Baas(視頻)(文字) (.net版)
- Data組件的JSON數據格式11
- 微信服務號集成(視頻)
- 擴展學習資料
- bootstrap
- Knockoutjs
- JQuery
- requirejs
- phonegap/cordova