作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我是一名优秀的程序员,十分优秀!