uni-app & this.$ownerInstance & Echarts All In One_uni-appuni-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​

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

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>


uni-app & this.$ownerInstance & Echarts All In One_uni-app_03

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>


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