UNPKG

ry-vue-map

Version:

ry公共组件库

42 lines (38 loc) 1.09 kB
import { SvgModel, geo2svg } from 'ry-map'; export default { install(Vue) { Vue.directive('lmap', { bind: function (el, binding, vnode) { const that = vnode.context; that[binding.arg](el); } }); Vue.directive('lGeoSvg', { inserted: function (el, binding, vnode) { let { geoJSON, svgModel = new SvgModel(), isStringConvertGeoJso = true } = binding.value; if (isStringConvertGeoJso) { el.innerHTML = geo2svg(JSON.parse(geoJSON), svgModel); } else { el.innerHTML = geo2svg(geoJSON, svgModel); } }, update: function (el, binding, vnode) { //组件更新 let { geoJSON, svgModel = new SvgModel(), isStringConvertGeoJso = true } = binding.value; if (isStringConvertGeoJso) { el.innerHTML = geo2svg(JSON.parse(geoJSON), svgModel); } else { el.innerHTML = geo2svg(geoJSON, svgModel); } } }); } };