类名 common/view/LayerView.js
import { Evented } from '../base'
import { defaultValue, Log } from '../util'

/**
 * 图层视图类
 * @private
 * @classdesc 视图基类
 * @extends Evented
 * @param {Object} options 构造参数
 * @param {BaseView}  [options.view ]  视图
 * @param {Layer} [options.layer ] 图层
 */
class LayerView extends Evented {
  constructor(options) {
    super()
    const opts = defaultValue(options, {})
    // BaseView
    this.view = opts.view
    if (!this.view) Log.error('视图对象不存在!')
    // Layer
    this.layer = opts.layer
    if (!this.layer) Log.error('图层对象不存在!')
    // 实际引擎视图
    this.innerView = this.view.getInnerView()
    if (!this.innerView) Log.error('视图对象InnerView不存在!')
    // 实际图层
    this.innerLayer = null
    // id
    this.id = this.layer.id
  }

  /**
   * 添加图层视图
   * @param {LayerEvent} 图层事件
   * @return {Promise<LayerView>} 图层视图
   */
  onAdd(event) {}

  /**
   * 移除图层视图
   * @param {LayerEvent} 图层事件
   * @return {Promise<LayerView>} 图层视图
   */
  onRemove(event) {}

  /**
   * 更新图层视图
   * @param {LayerViewUpdateEvent} 图层事件
   * @return {Promise<LayerView>} 图层视图
   */
  onUpdate(event) {}
}
export default LayerView
构造函数
成员变量
方法
事件