如何使用 vue.js 从 ApexChart 的选项中调用方法
我是 vue 和 apex 图表的新手,基本上我需要的是从 apex 图表选项调用方法,我创建了一个显示我遇到的问题的文件:
https://jsfiddle.net/wr3uo5va/
我需要调用方法currencyValue
chartOptions.dataLabels
dataLabels: {
enabled: true,
offsetX: -25,
formatter: function(val) {
return val + " Reais"; <--- This works
// return this.currencyValue(val) <--- This does not work
},
},
有什么建议吗?
I'm new with vue and apex charts, basically what I need is to call a method from the apex chart options, I created a file showing the problem I'm having:
https://jsfiddle.net/wr3uo5va/
I need to call the method currencyValue
from chartOptions.dataLabels
dataLabels: {
enabled: true,
offsetX: -25,
formatter: function(val) {
return val + " Reais"; <--- This works
// return this.currencyValue(val) <--- This does not work
},
},
Any suggestion ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题是
formatter
回调中的this
是图表实例(而不是组件实例),因为它被声明为常规函数。解决方案是使用箭头函数将组件实例绑定为上下文:
更新的 fiddle
The problem is
this
inside theformatter
callback is the chart instance (not the component instance) because it's declared as a regular function.The solution is to use an arrow function to bind the component instance as the context:
updated fiddle
您可以将
ChartOptions
放入方法而不是数据中。以下是工作代码
无法在
数据
或计算
中调用方法,可以在方法中调用
在HTML中要修改的一件事在下面
You can put
chartOptions
in methods instead of in data.Below is working code
Methods can't be called in
data
orcomputed
, they can be called inmethods
One thing to be modified in html is below