uni-app & this.$ownerInstance & Echarts All In One


uni-app & this.$ownerInstance & Echarts All In One

<script module="test" lang="renderjs">
    export default {
        mounted() {
            // ...
        },
        methods: {
            // ...
        }
    }
</script>

renderjs

renderjs是一個運行在視圖層的js。它比WXS更加強大。它只支持app-vue和h5。

renderjs的主要作用有2個:

大幅降低邏輯層和視圖層的通訊損耗,提供高性能視圖交互能力

在視圖層操作dom,運行for web的js庫

https://uniapp.dcloud.io/frame?id=renderjs

ECharts 事件處理

myChart.on('click', function (params) {
    // 在用戶點擊后控制台打印數據的名稱
    console.log(params);
});

myChart.on('legendselectchanged', function (params) {
    console.log(params);
});

chart.on('click', 'series.line', function (params) {
    console.log(params);
});

chart.on('mouseover', {seriesIndex: 1, name: 'xx'}, function (params) {
    console.log(params);
});

chart.on('click', 'series', function () {...});
chart.on('click', 'series.line', function () {...});
chart.on('click', 'dataZoom', function () {...});
chart.on('click', 'xAxis.category', function () {...});

demo

https://www.runoob.com/try/try.php?filename=tryecharts_event1


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts 實例</title>
    <!-- 引入 echarts.js -->
    <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
</head>
<body>
    <!-- 為ECharts准備一個具備大小(寬高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
        // 基於准備好的dom,初始化ECharts實例
        var myChart = echarts.init(document.getElementById('main'));

        // 指定圖表的配置項和數據
        var option = {
            xAxis: {
                data: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
            },
            yAxis: {},
            series: [{
                name: '銷量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        };

        // 使用剛指定的配置項和數據顯示圖表。
        myChart.setOption(option);
        // 處理點擊事件並且彈出數據名稱
        myChart.on('click', function (params) {
            console.log('params.name', params, params.name);
        });
    </script>
</body>
</html>

series


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts 實例</title>
    <!-- 引入 echarts.js -->
    <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
</head>
<body>
    <!-- 為ECharts准備一個具備大小(寬高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
        // 基於准備好的dom,初始化ECharts實例
        var myChart = echarts.init(document.getElementById('main'));

        // 指定圖表的配置項和數據
        var option = {
            xAxis: {
                data: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
            },
            yAxis: {},
            series: [{
                name: '銷量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        };

        // 使用剛指定的配置項和數據顯示圖表。
        myChart.setOption(option);
        // 處理點擊事件並且彈出數據名稱
        myChart.on('click', function (params) {
            console.log('params', params, params.name);
        });
		myChart.on('click', 'series', function (params) {
            console.log('series', params, params.name);
        });
        myChart.on('click', 'series.line', function (params) {
            console.log('series.line', params, params.name);
        });
    </script>
</body>
</html>

refs



©xgqfrms 2012-2020

www.cnblogs.com 發布文章使用:只允許注冊用戶才可以訪問!

原創文章,版權所有©️xgqfrms, 禁止轉載 🈲️,侵權必究⚠️!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM