Google Charts使用变量指定高亮系列失效问题求助
解决Google Charts API用变量指定高亮系列无效的问题
问题出在JavaScript对象的键名处理上——当你直接在series对象里写Series_To_Highlight: { lineWidth:5 }时,JS会把Series_To_Highlight当成字符串字面量作为键,而不是解析变量的值(也就是1),自然找不到对应系列。
给你两种可行的解决方式:
方法1:先初始化对象,再通过方括号赋值
这种方式兼容所有JS环境,适合需要支持旧浏览器的场景:var Series_To_Highlight = 1; // 先创建包含基础配置的options对象 var options = { title: '你的图表标题', hAxis: { title: 'X轴' }, vAxis: { title: 'Y轴' }, series: {} // 先初始化空的series对象 }; // 用变量作为键,给指定系列设置高亮样式 options.series[Series_To_Highlight] = { lineWidth: 5 };方法2:使用ES6计算属性名
如果你不需要兼容IE这类旧浏览器,可以直接在对象字面量里用方括号包裹变量,让JS解析变量的值作为键:var Series_To_Highlight = 1; var options = { title: '你的图表标题', hAxis: { title: 'X轴' }, vAxis: { title: 'Y轴' }, series: { [Series_To_Highlight]: { lineWidth: 5 } // 方括号解析变量值 } };
两种方式都能让变量指定的系列正确应用lineWidth:5的高亮样式,你可以根据项目的浏览器兼容需求选择。
内容的提问来源于stack exchange,提问作者Albert C
相关产品推荐
相关产品推荐

