wing组件显示左侧栏的时候,content部分显示遮罩的样式问题
在当前w页面 对应的css文件中重写它的样式即可 比如: x-wing-backdrop{ background-color:red; opacity:0.5; }
在当前w页面 对应的css文件中重写它的样式即可 比如: x-wing-backdrop{ background-color:red; opacity:0.5; }
一般情况下。由于PC页面 和 手机首页显示的风格差异比较大!比如PC 使用grid dataTables 组件显示列表! 而手机一般使用list组件 循环显示列表。所以PC和手机开发一套界面很难做到自适应效果! 如果手机和PC的风格显示是类似的!表单布局也是一样的,这种情况下,就可以做同一套界面,使用row组件 设置 col 的class属性 ,根据屏幕分辨率,每行显示不同列数据(比如,pc每行显示3列,手机每行显示1列,使用流式布局。可以做到横向显示的自适应)!! 如果PC 和 手机差异比较大的情况,有两种方案: 1. 开发两套界面功能!手机运行手机的界面!PC运行PC的界面!两个功能访问 的URL 是不一样的 ,后端使用同一个逻辑!(相当于两个应用) 2. 如果想让两个页面访问的URL 也是一样的!那么可以把他们的页面开发放在一起。文件命名是一样的!只不过后缀名后差异,PC访问的功能页面后缀名是.w ,手机访问的页面后缀名是.m.w 这样,两套页面放在同一个路径下!当pc访问这个URL的时候,只会请求.w文件! 手机访问这个URL的时候,会优先访问.m.w 文件! 这样就可以做到,用一个应用下手机访问手机页面,PC访问PC 页面,并且是同一个URL地址!(实现了效果上的自适应能力) 注意:只能在UIServer 下使用,访问的url地址后缀名是.a 比如访问: http://localhost:8080/x5/UI2/demo/tuniu/index_main.a PC会优先访问:http://localhost:8080/x5/UI2/demo/tuniu/index_main.w [...]
1.判断 是否已经滑出 this.comp("wing1").leftOpened 2.禁止手动划出 wing 组件 animate="false" 应该就不能手动滑动出来了! 按钮点击事件或其他js代码中调用 this.comp("wing1").showLeft() 更多wing组件的介绍:http://doc.wex5.com/comps-wing/
组件:$UI/system/components/bootstrap/tabs/tabs(bootstrap) 在某种情况下,放置到页面(比如放在row组件下) 运行时消失不见了 原因:这个组件外层的高度必须指定才可以!!如果外层dom节点的高度不存在,那么它就无法显示 解决方法:指定外层dom节点的固定高度!就能显示了
注意 :img 的 onload事件是异步执行的!如果你想限制图片的大小和宽高,就需要设置attachmentSimple默认不自动上传:http://docs.wex5.com/wex5-ui-question-list-2105 在 onload 事件中调用self.comp('attachmentSimple1').uploader.submit(); 进行上传 Model.prototype.model1Load = function(event) { var data = this.comp("data1"); var uploader = this.comp("attachmentSimple1").uploader; $(uploader.inputElement).attr('multiple', 'multiple'); var _URL = window.URL || window.webkitURL; uploader.on('onFileSelected', function(event) { var file = [...]
在list中放置组件,比如input 组件bind-ref 绑定data字段的写法应该是ref('字段') val('字段') 或者 $object.val('字段') 普通的input组件,没有放置在list中,bind-ref绑定data字段的写法是 data.val("字段") 或者 $model.data.val("字段") 详细理解 在list中 循环渲染数据的时候,是循环的data组件!每次循环一行数据,list中 被渲染的这一行数据,行对象就是$object , 获取某个字段的值就是$object.val('字段') $object可以省略 直接写成 val('字段') 而当前行,表示的是data组件真正选中的行,是哪一行??默认选中的是第一行! data.val("字段",row) 其中第二个参数可以不写,默认是就是当选中前行!(相当于游标) $model 表示model对象!!每个data组件都是注册在model对象上的!所以可以直接通过 $model.data获取data组件 $model 可以省略
需求:想通过给iframe 的src 属性赋值不同的URL ,显示不同页面! 解决方法: 和图片动态显示一样的!自定义属性bind-attr-src 然后定义KO对象 指定一个网址!! 修改的时候只需要KO对象重新赋值即可 var Model = function(){ this.callParent(); this.test = justep.Bind.observable('https://www.baidu.com/'); }; 修改 this.test.set('http://bbs.wex5.com/forum.php'); bind-attr-src 绑定test即可
attachmentSimple 组件上右键,切换到源码模式查看!(可以先格式化w源码) 在attachmentSimple组件的源码中找到字符串 <div data-bind="foreach:$attachmentItems" 在这个div下面的节点中 通过 KO绑定显示文件的名称!!书写格式比如: <span data-bind="text:$object.realFileName.get()" /> 或者 如果给title赋值,或其他自定义属性赋值,写法是 data-bind="attr:{title:$object.realFileName.get()} 这个标签下就会生成自定义属性 title 等于 文件名称
attachmentSimple 组件实际上就是对 input type=file 标签做了一个封装! accept属性表示选择文件的类型 和 标准的input type=file 的取值范围是一样的 详细介绍请参考 http://blog.csdn.net/libinemail/article/details/51022922
参考代码: e.target.result就是最后的路径地址 var uploader = this.comp("attachmentSimple1").uploader; uploader.on('onFileSelected', function(event) { var file = event.file; if (window.FileReader) { var reader = new FileReader(); reader.readAsDataURL(file); // 监听文件读取结束后事件 reader.onloadend = function(e) { var base64String = e.target.result; // e.target.result就是最后的路径地址 [...]