## 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