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
 - 阅读:1033
 
产品分类: 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 个回复