javascript - 如何在 D3 附加的 vue.js 对象上启用 v-on 事件

标签 javascript events d3.js vue.js

我正在使用 c3 构建一个图表,然后使用 d3 在此图表顶部添加一个 div:

请参阅 jsfiddle 上的工作示例.

var naviChart = d3
  .selectAll("#chart")
  .append("div")
  .attr("class", "hist-future-btn");
naviChart
  .append("div")
  .text("Hist")
  .attr("class", "hist")
  .attr(":v-on:click", "showHistChart");

即使代码已正确生成(通过 Chrome 检查器检查):

<div class="hist" @click="showHistChart">Hist</div> 

未调用函数showHistChart。 我将上面的行从 Chrome 检查器复制粘贴到 HTML 代码的底部,然后它就可以工作了。所以我们知道 d3 正确生成了代码,但它没有启用 vue 事件

如何在 d3.js 动态添加的对象上启用 vue.js

我找到了这个topic ,有非常相似的问题,但它只回答了在 svg 元素上启用事件的问题,并在评论中打开了我的问题。

最佳答案

.attr(":v-on:click", "showHistChart"); 替换为 .on("click", this.showHistChart); 其中 this.showHistChart 表示 vue 实例中的一个方法。

关于javascript - 如何在 D3 附加的 vue.js 对象上启用 v-on 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50928073/

相关文章:

javascript - 如何使用 Rails + Webpack 配置 Bootstrap 插件?

jquery - 等待函数直到用户停止输入

javascript - scaleTime 最小刻度值

javascript - D3 动态 JSON 标签

javascript - 修复导航栏

javascript - 如何在DataTables中以数字方式对下拉列表进行排序

javascript - 如何使用 knex 从 SQL 表中选择行值连续的情况?

events - JNA 事件日志阅读器

c# - 私有(private)事件处理程序是否会破坏封装?

d3.js - d3 - 如何在 v5 中返回 d.type?