EntityCollection
优质
小牛编辑
132浏览
2023-12-01
new LSGlobe.EntityCollection(owner)
Name | Type | Description |
---|---|---|
owner | DataSource | optional 创建此集合的数据源(或复合实体集合) |
Members
readonlycollectionChanged : Event
- 获取从集合中添加或删除实体时触发的事件。生成的事件是EntityCollection.collectionChangedEventCallback。
readonlyid : String
- 获取此集合的全局唯一标识符
readonlyowner : DataSource|CompositeEntityCollection
- 获取此实体集合的所有者,即创建它的数据源或组合实体集合。
show : Boolean
- 获取此实体集合是否显示。如果此属性为true,还需设置实体的show属性为true才可以显示。
readonlyvalues : Array.<Entity>
- 获取集合中的实体数组。此数组不能直接修改。
Methods
staticLSGlobe.EntityCollection.collectionChangedEventCallback(collection, added, removed, changed)
- 由
EntityCollection#collectionChanged
生成的事件签名Name Type Description collection
触发事件的集合 added
Array.<Entity>
已添加到集合中的 Entity
实例数组removed
Array.<Entity>
已从集合中删除的 Entity
实例的数组changed
Array.<Entity>
已修改的 Entity
实例数组 add(entity) → Entity
- 向实体集合添加一个实体对象
Name Type Description entity
待添加的实体对象 Returns:
添加成功返回true,否则返回false
Throws:
DeveloperError
: 集合中已存在具有该id标识符的实体
computeAvailability() → TimeInterval
- 计算集合中实体的最大可用性。如果集合包含无限可用数据和非无限数据的混合,它将仅返回与非无限数据有关的区间。如果所有数据都是无限的,则会返回无限的时间间隔。
Returns:
集合中实体的可用性
contains(entity) → Boolean
- 判断实体对象是否已经存在于集合中
Name Type Description entity
指定的实体对象 Returns:
实体对象已在集合中返回true,不存在则返回false
getById(id) → Entity
- 获取指定id的实体对象
Name Type Description id
Object
待检索的实体id Returns:
指定id的实体对象;如果集合中不存在该id的实体,返回undefined
getOrCreateEntity(id) → Entity
- 获取特定ID的实体对象,或者创建一个实体对象并把添加到集合里面(如果没存在的话)
Name Type Description id
Object
获取或者创建的实体对象ID Returns:
新建或者已存在的对象
remove(entity) → Boolean
- 从集合中移除一个实体对象
Name Type Description entity
待移除的实体对象 Returns:
移除成功返回true;返回false表示集合中不存在此实体,移除失败。
removeAll()
- 移除集合中的所有实体对象
removeById(id) → Boolean
- 移除集合中指定id的实体对象
Name Type Description id
Object
待移除的实体id Returns:
移除成功返回true;如果指定id的实体不存在于集合中,移除失败则返回false
resumeEvents()
- 在添加或删除项目时立即触发
EntityCollection#collectionChanged
事件。当事件被暂停时所做的任何修改都将在调用此函数时作为单个事件触发。 此功能是引用计数,只要有相应的EntityCollection#resumeEvents
调用,就可以安全地调用多次。Throws:
DeveloperError
: 在suspendEvents之前不能调用resumeEvents
suspendEvents()
- 阻止引发
EntityCollection#collectionChanged
事件, 直到对EntityCollection#resumeEvents
进行相应的调用,此时会引发一个涵盖所有暂停操作的事件。 这允许添加多个项目 并有效地移除。只要存在对EntityCollection#resumeEvents
的相应调用,就可以安全地调用此函数多次