【发布时间】:2017-10-26 14:38:21
【问题描述】:
我正在尝试使用 Vue.js 构建热图表。
我一直在关注 this 为 jquery 制作的精彩教程。
我想避免使用 jquery,一切正常,但是我在最后一步遇到了麻烦$(this).css({backgroundColor:clr});
如何为每个单元格只更改一次:style?现在它显然会改变每个单元格的值,一旦它位于v-for 循环的最后一个循环中。
我考虑过创建一个watcher,它会在每次更改颜色数据属性时看到它并运行像changeColour: function(color) {// change css} 这样的单独函数,但我不知道将它应用到哪个单元格。
到目前为止我有:
一个基本的 html 表格:
<tbody v-for="page in json">
<tr>
<td style = 'background-color: #e5e5ff'>
{{page.page_path}} </td>
<td :style="{ 'background-color': sessionColor }">
{{page.sessions}} </td>
<td :style="{ 'background-color': exitColor }">
{{page.exit_rate}} </td>
<td :style="{ 'background-color': bounceClr }">
{{page.bounce_rate}} </td>
<td :style="{ 'background-color': timeClr }">
{{page.avg_time_on_page}} </td>
</tr>
一个具有 4 个颜色属性的 Vue 实例,以及一个负责生成 RGB 值的方法。
这里我有完整的 jsfiddle,唯一缺少的是每个单元格的 v-binding style once。我怎么能这样做?谢谢!
【问题讨论】:
标签: vue.js vuejs2 vue-component