let mjssChart, qyldsclChart, yfzbChart;
export default {
mounted() {
if (typeof window.echarts === 'function') {
this.initEcharts()
} else {
// 动态引入较大类库避免影响页面展示
const script = document.createElement('script')
// view 层的页面运行在 www 根目录,其相对路径相对于 www 计算
script.src = 'static/echarts.js'
//#ifdef H5
script.src = '/static/echarts.js'
// #endif
script.onload = this.initEcharts.bind(this)
document.head.appendChild(script)
}
},
methods: {
initEcharts() {
mjssChart = echarts.init(document.getElementById('mjssChart'))
mjssChart.setOption(this.mjssChart)
qyldsclChart = echarts.init(document.getElementById('qyldsclChart'))
qyldsclChart.setOption(this.qyldsclChart)
yfzbChart = echarts.init(document.getElementById('yfzbChart'))
yfzbChart.setOption(this.yfzbChart)
},
updateEcharts(newValue, oldValue, ownerInstance, instance) {
// 监听 service 层数据变更
if (mjssChart && newValue.id == "mjssChart") mjssChart.setOption(newValue);
if (qyldsclChart && newValue.id == "qyldsclChart") qyldsclChart.setOption(newValue);
if (yfzbChart && newValue.id == "yfzbChart") yfzbChart.setOption(newValue);
},
onClick(event, ownerInstance) {
// 调用 service 层的方法
ownerInstance.callMethod('onViewClick', {
test: 'test'
})
}
}
}
</script> ```
- 发布:2020-07-27 17:07
- 更新:2020-07-27 17:07
- 阅读:845
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10.0.18362.904
HBuilderX类型: 正式
HBuilderX版本号: 2.8.2
手机系统: Android
手机系统版本号: Android 10
手机厂商: 小米
手机机型: k20pro
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
把条件编译去掉,分别用 app 和 h5测试,
script.src = 'static/echarts.js'
把条件编译去掉,分别用 app 和 h5测试,
script.src = 'static/echarts.js'
预期结果:
app测试 和 h5预览,在相对路径时,都能获取 echart。
app测试 和 h5预览,在相对路径时,都能获取 echart。
实际结果:
相对路径 app可以,h5失败
绝对路径(文档不推荐js绝对路径) app 失败 , h5 ok
相对路径 app可以,h5失败
绝对路径(文档不推荐js绝对路径) app 失败 , h5 ok
bug描述:
关于 renderjs 引入 script 时目录问题
script.src = 'static/echarts.js' 时 h5模拟器 不能正确的找项目根目录的 static/echarts.js 需要
//#ifdef H5
script.src = '/static/echarts.js'
// #endif
但是 加上 绝对路径后 h5-ok 手机测试-fail
可以确认时本次版本的bug 在昨天前, 程序是没问题的。
0 个回复