代码如下:
<div ng-view >
<!--路由跳转的html模板都插入在这里-->
</div>
以下是插入到ng-view的HTML模板:
<!--右侧charts开始-->
<main class="main_forms_first">
<div class="article_first">
<div class="header_first">报表<i>></i><span>访问量与会话量</span></div>
<div class="forms_content_first">
<div class="center_f_first">
<div class="center_f_one">
<div class="center_f_left">
<div class="btn-group">
<button type="button" class="btn btn-default active">今日</button>
<button type="button" class="btn btn-default">昨日</button>
<button type="button" class="btn btn-default">本月</button>
</div>
<div class="btn-group" id="btn-group-two">
<button type="button" class="btn btn-default active">全部地区</button>
</div>
</div>
<div class="center_f_right">日期:2016年11月17日</div>
</div>
<div class="center_f_two">
<div class="data"><span>总访问量:536</span><span>地区:全部</span></div>
<div class="chart" id="chart_main"></div>
</div>
</div>
</div>
</div>
</main>
<!--charts结束-->
以下是我的echarts代码:
/**
* Created by Administrator on 2016/11/27.
*/
// 基于准备好的dom,初始化echarts实例
$(function () {
var myChart = echarts.init(document.getElementById('chart_main'));
// 指定图表的配置项和数据
option = {
title: {
text: '折线图'
},
tooltip: {
trigger: 'axis'
},
legend: {
data:['总访问量','会话量']
},
grid: {
left: '1%',
right: '2%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['00点','02点','04点','06点','08点','10点','12点','14点','16点','18点','20点','22点']
},
yAxis: {
type: 'value'
},
series: [
{
name:'总访问量',
type:'line',
stack: '总量',
data:[200, 150, 100, 60, 150, 430, 560,600,800,850,1000,1050]
},
{
name:'会话量',
type:'line',
stack: '总量',
data:[100, 80, 40, 20, 90, 230, 260,300,400,500,550,600]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
//当浏览器窗口发生变化的时候调用div的resize方法
window.onresize = function(){
myChart.resize();
}
})
你这方式太粗放了,我猜测是你的echarts相关代码先行执行于ng-view渲染完成前,那时候还没获取到dom。
我的建议是写个directive。
html模板中直接用
directive