BaseThing

new mars2d.BaseThing(options)

Thing对象(如分析、量算类等) 的基类

参数名称 类型 描述信息
options Object 可选

参数对象,包括以下:

参数名称 类型 默认值 描述信息
id String | Number createGuid() 可选

对象的id标识

enabled Boolean true 可选

对象的启用状态

eventParent BaseClass | Boolean 可选

指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件

参考:

继承

成员(属性)

enabled : Boolean

设置对象的启用和禁用状态。

id : String|Number

对象的id标识

readonly isAdded : Boolean

是否已添加到地图

readonly options : Object

当前类的构造参数

继承自:

readonly state : State

当前对象的状态

方法

abstract _addedHook()void

对象添加到地图上的创建钩子方法, 每次add时都会调用

返回值:

abstract _mountedHook()void

对象添加到地图前创建一些对象的钩子方法, 只会调用一次

返回值:

abstract _removedHook()void

对象从地图上移除的创建钩子方法, 每次remove时都会调用

返回值:

addEventParent(obj)BaseClass

添加抛出事件到父类,它将接收传播的事件

参数名称 类型 描述信息
obj Object

父类对象

返回值:

当前对象本身,可以链式调用

继承自:

addTo(map)BaseThing

添加到地图上,同 map.addThing

参数名称 类型 描述信息
map Map

地图对象

返回值:

当前对象本身,可以链式调用

destroy(noDel)void

销毁当前对象

参数名称 类型 默认值 描述信息
noDel Boolean false 可选

false:会自动delete释放所有属性,true:不delete绑定的变量

返回值:

继承自:

fire(type, data, propagate)BaseClass

触发指定类型的事件。

参数名称 类型 默认值 描述信息
type EventType | String

事件类型

data Object 可选

传输的数据或对象,可在事件回调方法中event对象中获取进行使用

propagate BaseClass | Object null 可选

将事件传播给父类 (用addEventParent设置)

返回值:

当前对象本身,可以链式调用

继承自:

hasEventParent(obj)BaseClass

是否绑定了抛出事件到指定父类

参数名称 类型 描述信息
obj Object

父类对象

返回值:

当前对象本身,可以链式调用

继承自:

listens(type, propagate)Boolean

是否有绑定指定的事件

参数名称 类型 描述信息
type EventType | String

事件类型

propagate Object 可选

是否判断指定的父类 (用addEventParent设置的)

返回值:

是否存在

继承自:

off(types, fn, context)BaseClass

解除绑定指定类型事件监听器

参数名称 类型 描述信息
types EventType | String | Array.<EventType> 可选

事件类型,未传值时解绑所有事件

fn function 可选

绑定的监听器回调方法,未传值时解绑所有指定类型对应事件

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

on(types, fn, context)BaseClass

绑定指定类型事件监听器, 支持在监听中调用 event.stopPropagation(); 组织事件冒泡

参数名称 类型 描述信息
types EventType | String | Array.<EventType>

事件类型

fn function 可选

绑定的监听器回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

once(types, fn, context)BaseClass

绑定一次性执行的指定类型事件监听器 与on类似,监听器只会被触发一次,然后被删除。

参数名称 类型 描述信息
types EventType | String | Array.<EventType>

事件类型

fn function 可选

绑定的监听器回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

remove(destroy)void

从地图上移除,同map.removeThing

参数名称 类型 描述信息
destroy Boolean 可选

是否调用destroy释放

返回值:

removeEventParent(obj)BaseClass

移除抛出事件到父类

参数名称 类型 描述信息
obj Object

父类对象

返回值:

当前对象本身,可以链式调用

继承自:

定义的类型

mars2d.BaseThing.EventType

当前类支持的EventType事件类型(包括自定义字符串事件名)

属性:
属性名称 类型 描述信息
add String

添加对象

remove String

移除对象

使用示例:
//绑定监听事件
thing.on(mars2d.EventType.add, function (event) {
  console.log('添加了对象', event)
})
参考: