## 介绍
自定义组件里使用element自带的组件和云后台已经提前引入的库是没有问题提的,但是很多时候我们还需要在自定义组件的同时,加载一些第三方的js库,比如高德地图。云后台引入了VueScript2来解决这个问题。
注意:
1.引入的插件必须是cdn形式的而非npm形式的。
2.利用loadedScript这样一个变量加上v-if来避免你js库没加载好的时候页面渲染导致找不到组件。
```
<template>
<el-amap
v-if="loadedScript"
class="amap-box"
:vid="'amap-' + item.name">
</el-amap>
</template>
```
```
data() {
let self = this;
return {
loadedScript: false
}
},
created: async function() {
// 加载js插件
await this.loadScript();
// 高德地图
this.amapManager = new VueAMap.AMapManager();
VueAMap.initAMapApiLoader({
key: '申请一个key',
plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.Geocoder', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
// 默认高德 sdk 版本为 1.4.4
v: '1.4.4'
});
VueAMap.lazyAMapApiLoaderInstance.load().then(() => {
this.loadedScript = true;
this.geocoder = new AMap.Geocoder({
// city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode
city: '全国'
});
});
// 其他业务逻辑
},
methods: {
loadScript () {
let that = this;
return new Promise((resolve, reject) => {
that.VueScript2.load('https://cdn.jsdelivr.net/npm/vue-amap/dist/index.js').then(function () {
resolve();
});
});
}
}
```
- 说明
- 简介
- 系统安装
- 后端注意
- 目录结构
- 数据表
- 用户注册
- 前端注意
- 后端接口开发
- 新建模块
- 创建数据表
- 创建模型
- 创建后台控制器
- 添加后台接口
- 创建前台控制器
- 添加前台接口
- 常用接口
- 检查用户登录
- 内置接口
- Builder动态页面
- Builder列表
- addTopButton
- addRightButton
- addColumn
- setDataList
- setDataPage
- getData
- Builder表单
- setFormMethod
- addFormItem
- 单图image
- 多图images
- addFormRule
- setFormValues
- getData
- 自定义组件
- 自定义页面组件
- 自定义Form组件
- 加载第三方js插件
- 常见问题
- 模块开发者
- 升级指南
- 图标
- 扩展
- Composer
- ThinkPHP5.1
- GuzzleHttp
- phpspreadsheet
- QueryList
- phpseclib
- 云后台接口