    import { LayerView } from './index'

    class BaseRendererLayerView extends LayerView {
      constructor(options) {
        super(options)
        this._initInstance(options)
        this._initHandlers()
      }

      /**
       * @description: 初始化实例
       * @return {*}
       */
      _initInstance(options) {}

      /**
       * @description: 初始化监听
       * @return {*}
       */
      _initHandlers() {
        this._layerChangeAction = this._layerChangeAction.bind(this)
        this.layer.on('set', this._layerChangeAction)
      }

      /**
       * @description: 移除监听
       * @return {*}
       */
      _removeHandlers() {
        this.layer.off('set', this._layerChangeAction)
      }

      /**
       * @description: 图层变化action
       * @param {*} event
       * @return {*}
       */
      _layerChangeAction(event) {
        const { key } = event.eventData
        if (key === 'renderer') {
          this._rendererChangeAction(event)
        }
      }

      /**
       * @description: renderer变化action
       * @param {*} event
       * @return {*}
       */
      _rendererChangeAction(event) {}

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

    export default BaseRendererLayerView