BaseEvent
大约 2 分钟
BaseEvent
BaseEvent事件派发对象继承自THREE.EventDispatcher,事件派发机制是所有框架的基础功能之一。
// 新建一个事件派发对象
const evented = new VT.BaseEvent();
// 事件执行代码
function eventHandle(event) {
    switch(event.type) {
        case "alarm":
            // 报警程序执行
            break;
    }
    // ... 程序执行
}
// 监听 alarm 事件
evented.on("alarm", eventHandle);
// 派发 alarm 事件
evented.fire({type: "alarm", data: {cameraId: "0001111"}});
方法
once
监听事件,只执行一次
- once(type, listener)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 - listener 
{Function}监听执行方法 
 - type 
 
// 监听一次拖拽开始事件
viewer.cameraControl.once("dragstart", (event) => {
    // 事件程序
});
addEventListener
监听事件,只要事件派发就执行
- addEventListener(type, listener)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 - listener 
{Function}监听执行方法 
 - type 
 
// 监听拖拽开始事件
viewer.cameraControl.addEventListener("dragstart", (event) => {
    // 事件程序
});
on
监听事件,只要事件派发就执行,等同于addEventListener
- on(type, listener)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 - listener 
{Function}监听执行方法 
 - type 
 
// 监听拖拽开始事件
viewer.cameraControl.on("dragstart", (event) => {
    // 事件程序
});
dispatchEvent
派发事件
- dispatchEvent(event)
 - 类型:
{Function} - 参数: 
- event 
{Object}事件对象 {type:EventType} 
 - event 
 
// event为自定义对象
const event = {
    type: "dragstart"
};
// 触发拖拽开始事件
viewer.cameraControl.dispatchEvent(event);
fire
派发事件
- fire(event)
 - 类型:
{Function} - 参数: 
- event 
{Object}事件对象 {type:EventType} 
 - event 
 
// event为自定义对象
const event = {
    type: "dragstart"
};
// 触发拖拽开始事件
viewer.cameraControl.fire(event);
removeEventListener
移除监听事件
- removeEventListener(type, listener)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 - listener 
{Function}监听执行方法 
 - type 
 
// 移除拖拽开始事件, listenerHandle
viewer.cameraControl.removeEventListener("dragstart", listenerHandle);
off
移除监听事件
- off(type, listener)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 - listener 
{Function}监听执行方法 
 - type 
 
// 移除拖拽开始事件, listenerHandle
viewer.cameraControl.off("dragstart", listenerHandle);
hasEvent
是否包含事件
- hasEvent(type)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 
 - type 
 - 返回:
{Boolean} 
viewer.cameraControl.hasEvent("dragstart");
resumeEvent
恢复事件监听
- resumeEvent(type, listener)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 - listener 
{Function}监听执行方法 
 - type 
 
// 恢复拖拽开始事件监听, listenerHandle
viewer.cameraControl.resumeEvent("dragstart", listenerHandle);
pauseEvent
停止事件监听
- pauseEvent(type, listener)
 - 类型:
{Function} - 参数: 
- type 
{String}事件类型 - listener 
{Function}监听执行方法 
 - type 
 
// 暂停拖拽开始事件监听, listenerHandle
viewer.cameraControl.pauseEvent("dragstart", listenerHandle);