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

QQ登录

只需一步,快速开始

查看: 3445|回复: 18

[结贴] 框架派发事件的用法?

[复制链接]

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2017-4-11 15:02:57 | 显示全部楼层 |阅读模式
1:在某一个要使用的页面,在某次事件后,通过:
justep.Shell.fireEvent("xxxxx",{要传值的jion});


2:在首页index.w页,加载派发事件,用:
justep.Shell.on("xxxxx",this.xxxxx,this);


3:在首页index.w页的modelUnLoad事件中卸载派发监听
justep.Shell.off("xxxxx",this.xxxxx);

4:在首页index.w页写xxxxx的事件函数:
Model prototype.xxxxx = function(event){

}
  

这个框架派发事件是这个流程的吗?我 现在的问题是在登录成功后,通过localStorage.setItem("name",khname);将登录用户名记住,然后怎么应用这个派发事件呢?我要在需要的页面及时显示登录名的
发表于 2017-4-11 16:05:55 | 显示全部楼层
多个页面显示同一个数据源 建议通过KO 绑定全局 对象实现!
参考:
http://docs.wex5.com/wex5-ui-question-list-2096

其他页面bind-text 或 bind-ref  绑定 justep.Shell.userName 即可
justep.Shell.userName.set('值')  赋值后页面自然动态感知变化的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-4-11 16:34:47 | 显示全部楼层
liangyongfei 发表于 2017-4-11 16:05
多个页面显示同一个数据源 建议通过KO 绑定全局 对象实现!
参考:
http://docs.wex5.com/wex5-ui-question ...

我是登录后退出换一个用户再登录,页面上还显示上一个用户的名字,想即时响应的改变
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

发表于 2017-4-11 17:20:10 | 显示全部楼层
郭德成 发表于 2017-4-11 16:34
我是登录后退出换一个用户再登录,页面上还显示上一个用户的名字,想即时响应的改变 ...

嗯!定义KO对象就可以做到啊!

justep.Shell.userName.set('张三') 

哪么所有绑定这个值的页面都会自动变成张三的!

登录成功就需要给ko对象赋值
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-4-11 19:25:39 | 显示全部楼层
能不能不用KO,用框架派发事件的方法呢?
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-4-12 08:24:13 | 显示全部楼层
本帖最后由 郭德成 于 2017-4-12 08:26 编辑

justep.Shell.userName.set('张三') 为什么我这样用就报错呢?,难要也要引入shell实例? QQ截图20170412080726.png
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

发表于 2017-4-12 10:46:19 | 显示全部楼层
郭德成 发表于 2017-4-12 08:24
justep.Shell.userName.set('张三') 为什么我这样用就报错呢?,难要也要引入shell实例?
...

派发事件 多麻烦!! KO很简单的!
必须保证KO 对象先定义,然后才能赋值的
justep.Shell.userName = justep.Bind.observable();

这行代码必须先执行的
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-4-12 16:01:42 | 显示全部楼层
liangyongfei 发表于 2017-4-12 10:46
派发事件 多麻烦!! KO很简单的!
必须保证KO 对象先定义,然后才能赋值的
justep.Shell.userName  ...

这行代码我放在 index.w里了,不行啊
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
 楼主| 发表于 2017-4-12 16:07:40 | 显示全部楼层
liangyongfei 发表于 2017-4-12 10:46
派发事件 多麻烦!! KO很简单的!
必须保证KO 对象先定义,然后才能赋值的
justep.Shell.userName  ...

通过index.w设置好了,通过首页打开,一样出现set错误的
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

发表于 2017-4-12 16:09:19 | 显示全部楼层
郭德成 发表于 2017-4-12 16:01
这行代码我放在 index.w里了,不行啊

放进去有什么用??你要debugger调试看看!代码执行了吗??如果执行了!并且其他地方没有使用
justep.Shell.userName = '字符串'
这样的方式赋值!!

只要它是KO 对象肯定就能够使用set方法赋值的!

请调试代码找原因
http://docs.wex5.com/js-debug/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-1 17:21 , Processed in 0.063350 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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