ry-vue-map
Version:
ry公共组件库
42 lines (38 loc) • 1.09 kB
JavaScript
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);
}
}
});
}
};