起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2562|回复: 12

[处理中3] 按钮的 visible 原始值怎么设置?

[复制链接]

265

主题

614

帖子

1171

积分

金牌会员

Rank: 6Rank: 6

积分
1171
QQ
发表于 2017-3-16 12:17:16 | 显示全部楼层 |阅读模式
我的应用,需要根据用户的权限显示不同的内容,我利用了一组 button + content 来实现。但由于 button 没有 visible 属性,只有:bind-visible 属性,所以界面初次运行时,会把各个 button 全部展现出来(见下图1),大约1-2秒钟后,才根据 bind-visible 来显示出最终效果(见下图2),这样用户体验会非常不好。



如何设置,让系统初次打开时,直接显示到第2幅图的状态?
发表于 2017-3-16 13:31:19 | 显示全部楼层
1.可以在style样式中 设置为默认隐藏!!然后再使用js动态控制其显示!!

2.使用bind-visible 不如使用bind-if  这样没有的dom节点也不用生成了!!
可以理解下这两个属性区别:http://docs.wex5.com/wex5-ui-question-list-2131/

你的当前页面应该是主页吧!,可以在门户页index.w中 获取用户信息。然后判断并给KO对象赋值未true 和 false  button通过bind-if 绑定这些KO对象即可!
KO对象的定义参考:http://docs.wex5.com/wex5-ui-question-list-2096/

重新登录后!使用window.location.href = index.html  重新定位门户页即可 !!

意思就是主页,不同的用户登录时候就重新加载,刷新页面!生成不同的dom节点!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

265

主题

614

帖子

1171

积分

金牌会员

Rank: 6Rank: 6

积分
1171
QQ
 楼主| 发表于 2017-3-16 13:44:27 | 显示全部楼层
谢谢指导,再次请教:
你上面第1条: style 样式中,设置为默认隐藏,但我未找到这个属性,请详细指导一上,谢谢!
回复 支持 反对

使用道具 举报

265

主题

614

帖子

1171

积分

金牌会员

Rank: 6Rank: 6

积分
1171
QQ
 楼主| 发表于 2017-3-16 13:54:31 | 显示全部楼层
请教问题2: 绑定 KO ,是直接在 bind-if 中输入:justep.Shell.userId>0 吗? 我测试未能成功
回复 支持 反对

使用道具 举报

265

主题

614

帖子

1171

积分

金牌会员

Rank: 6Rank: 6

积分
1171
QQ
 楼主| 发表于 2017-3-16 14:01:34 | 显示全部楼层
问题3:是现在要的不仅是返回主页,而是打开主页中的某一个具体的 context , 而且 context 是与 button 梆定的,所以就相当于模拟按了某一个按钮的。
回复 支持 反对

使用道具 举报

发表于 2017-3-16 14:55:19 | 显示全部楼层
yczxqy 发表于 2017-3-16 13:44
谢谢指导,再次请教:
你上面第1条: style 样式中,设置为默认隐藏,但我未找到这个属性,请详细指导一上 ...

1.visibility:hidden;
2. 建议KO 对象直接定义成boolean类型试试 !或者应该是 justep.Shell.userId.get() > 0
3 在登录页面!调用主页面的方法,contents.to(content) 切换一下页面就可以了!  button的target属性绑定就会自动感知的!!

登录页面如何调用主页面的方法!就看登录页是如何打开的!如果是shell打开可以传递js方法过去
http://docs.wex5.com/wex5-ui-question-list-2048/
windowDialog 可以使用this.getParent() 获取父的model对象,然后调用方法
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

265

主题

614

帖子

1171

积分

金牌会员

Rank: 6Rank: 6

积分
1171
QQ
 楼主| 发表于 2017-3-17 13:53:48 | 显示全部楼层
我在测试过程中,发现:visibility:hidden 的组件,仍然占用空间,是不是仍会生成 dom 节点?
回复 支持 反对

使用道具 举报

发表于 2017-3-17 13:56:04 | 显示全部楼层
yczxqy 发表于 2017-3-17 13:53
我在测试过程中,发现:visibility:hidden 的组件,仍然占用空间,是不是仍会生成 dom 节点? ...

当然了!这个只是样式控制隐藏!dom节点还是存在的!如果想不生产dom节点!建议使用bind-if 实现!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

265

主题

614

帖子

1171

积分

金牌会员

Rank: 6Rank: 6

积分
1171
QQ
 楼主| 发表于 2017-3-17 14:17:09 | 显示全部楼层
bind-if 也是,bin-if 为 false 时,仍能看到下面的内容,所以 dom 还是生成的。
<a component="$model/UI2/system/components/justep/button/button" class="btn btn-default cfe6Fjq active" xid="button1" data-bind="component:{name:'$model/UI2/system/components/justep/button/button'},if:justep.Shell.lstate" data-config="{&quot;label&quot;:&quot;button&quot;}" __cid="cfe6Fjq" id="C77439288F100001D632ACC01F911CA8_button1"></a>

所以上面的问题还是未能很好地解决好。还请群主再指导一下。
回复 支持 反对

使用道具 举报

发表于 2017-3-17 14:29:45 | 显示全部楼层
yczxqy 发表于 2017-3-17 14:17
bind-if 也是,bin-if 为 false 时,仍能看到下面的内容,所以 dom 还是生成的。

不好意思!我没讲明白!!使用bind-if ,是值不生成这个节点下的 内容!!
所以,你应该放一个div ,button 放在div里面  div 上设置bind-if 这样就不会生成 button 的dom节点了!但是 div还是存在的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-4 17:07 , Processed in 0.058387 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表