# PortalEventBus
# 1.简介
门户空间的EventBus,主要用于以下功能开发。
1.栏目之间的数据通信。
2.监听空间的事件。
# 门户的平台事件
名称 | 说明 | 返回值 |
---|---|---|
portal-onResizeReload | 门户的layout区域size发生变化 | id:可能会返回栏目id |
portal-columnGroupResize | 栏目组发生了变化 | groutKey:栏目组的key |
portal-optionReload | option变更 | 可能会返回栏目id |
portal-forceReload | 皮肤变化,菜单位置变化 | 无 |
示例:
var fun = function(params) {
// TODO:如果门户内部空间发生了变化,则执行...
}
// 监听空间事件
window.PortalEventBus.$on('portal-onResizeReload', fun);
# window.PortalAjax.$on(eventName, fn)
监听事件 | 参数 | 说明 | 类型 | 可选值 | 备注 |
---|---|---|---|---|---|
eventName | url | String | — | — | |
fn | 回调函数 | Function | — | — |
示例:
var scrollFun = function(params) {
....
}
window.PortalEventBus.$on('my-event', scrollFun);
# window.PortalAjax.$off(eventName, fn)
关闭事件 | 参数 | 说明 | 类型 | 可选值 | 备注 |
---|---|---|---|---|---|
eventName | url | String | — | — | |
fn | 监听时的函数对象 | Function | — | — |
示例:
window.PortalEventBus.$off('my-event', scrollFun);
# window.PortalAjax.$emit(eventName, params)
触发事件 | 参数 | 说明 | 类型 | 可选值 | 备注 |
---|---|---|---|---|---|
eventName | url | String | — | — | |
params | 发送的数据 | Object | — | — |
示例:
window.PortalEventBus.$emit('my-event', params);
如果两个栏目需要通信:
1、先约定一个广播名称:比如[my-event-1]
2、发送方 发送方:栏目A 把参数通过对象发送出去
window.PortalEventBus.$emit('my-event-1', {p1:1,p2:2});
接收方:栏目B
window.PortalEventBus.$on('my-event-1', (params)=>{
// params:{p1:1,p2:2}
// TODO: 获取到参数后,执行栏目B操作
}
);
发送方与接受方式一对多关系,一个发送何以多个栏目同时接收,只要是广播名称相同都能接收。
接收方:栏目C
window.PortalEventBus.$on('my-event-1', (params)=>{
// params:{p1:1,p2:2}
// TODO: 获取到参数后,执行栏目C操作
}
);
编撰人:yinyanting
快速跳转
