获取函数内的变量并将其分配给范围外的另一个变量
Get variable within function and assign it to another variable out of its scope
我正在使用 Chartist 和 VueJS,我正在尝试访问图表中的数据。当我点击我的图表时,我应该能够获得关于我点击的索引的信息。我得到了这些数据,但我无法将该数据传递给 Vue 本身。
这是我当前的代码:
data() {
return {
monthIndex: 0,
chartData: {
labels: [],
series: [[], []]
},
/* other chart options that I omitted */
chartEventHandlers: [
{
event: "draw",
fn(data) {
if (data.type === "bar") {
data.element.animate({
y2: {
begin: data.index * 40,
dur: "0.3s",
from: data.y1,
to: data.y2,
easing: "easeOutQuad"
},
opacity: {
begin: data.index * 40,
dur: "0.3",
from: 0,
to: 1,
easing: "easeOutQuad"
}
});
data.element._node.onclick = evt => {
console.log(data.axisX.ticks[data.index]);
// How do I assign this to monthIndex??
};
//
}
}
}
]
};
}
如您所见:
data.element._node.onclick = evt => {
console.log(data.axisX.ticks[data.index]);
};
我可以让它在控制台中显示正确的值,我只是在想办法让
monthIndex = data.axisX.ticks[data.index]
但是,monthIndex 不存在于函数范围内,所以我不能简单地将它分配给那个变量。我该怎么做呢?我试图让 monthIndex 显示在 html 视图中,以便每次我单击图表的另一部分时它都会改变。
是什么,你可以通过这样做将 Vue 作用域绑定到一个函数:
function(data) {
}.bind(this)
这允许您访问 Vue 作用域,或 this
函数内部,以便能够将索引值分配给适当的变量。
我正在使用 Chartist 和 VueJS,我正在尝试访问图表中的数据。当我点击我的图表时,我应该能够获得关于我点击的索引的信息。我得到了这些数据,但我无法将该数据传递给 Vue 本身。
这是我当前的代码:
data() {
return {
monthIndex: 0,
chartData: {
labels: [],
series: [[], []]
},
/* other chart options that I omitted */
chartEventHandlers: [
{
event: "draw",
fn(data) {
if (data.type === "bar") {
data.element.animate({
y2: {
begin: data.index * 40,
dur: "0.3s",
from: data.y1,
to: data.y2,
easing: "easeOutQuad"
},
opacity: {
begin: data.index * 40,
dur: "0.3",
from: 0,
to: 1,
easing: "easeOutQuad"
}
});
data.element._node.onclick = evt => {
console.log(data.axisX.ticks[data.index]);
// How do I assign this to monthIndex??
};
//
}
}
}
]
};
}
如您所见:
data.element._node.onclick = evt => {
console.log(data.axisX.ticks[data.index]);
};
我可以让它在控制台中显示正确的值,我只是在想办法让
monthIndex = data.axisX.ticks[data.index]
但是,monthIndex 不存在于函数范围内,所以我不能简单地将它分配给那个变量。我该怎么做呢?我试图让 monthIndex 显示在 html 视图中,以便每次我单击图表的另一部分时它都会改变。
function(data) {
}.bind(this)
这允许您访问 Vue 作用域,或 this
函数内部,以便能够将索引值分配给适当的变量。