如何引用Vue组件的this而不是D3 this实例

时间:2019-09-16 09:53:58

标签: vue.js d3.js this

我正在尝试更新Vue组件数据部分,以最终迫使页面用新数据更新组件。

当单击D3 svg元素时,Vue组件应更新。

我可以从被单击的D3元素中获取事件,但随后我无法引用Vue实例。

我尝试将函数拆分为较小的函数,以挂接到此实例上,但无济于事。我是d3和vue的新手,但感觉混合jquery语法的方法不自然。

export default {
new:"example"
data() {
return {
  showModal : false
  message : null
},
methods: {
   showModalAndMessage(){
   $('d3element').click(function(message){
   this.showmodal = true;
   this.message = message;
   console.log(this)
}

但是,上面只是将d3实例打印出来,如何获取它以引用Vue实例?

1 个答案:

答案 0 :(得分:0)

要访问vue实例,请使用箭头功能,如下所示:

export default {
new:"example"
data() {
return {
  showModal : false
  message : null
},
methods: {
   showModalAndMessage(){
   $('d3element').click( message => {
   this.showmodal = true;
   this.message = message;
})